|
@@ -74,10 +74,12 @@ app.listen(port, function() {
|
74
|
74
|
// done(): Called once each mail has been sent
|
75
|
75
|
function sendMails(params, update, done) {
|
76
|
76
|
let mails = settings.recipients.map((recipient) => {
|
|
77
|
+ // Promise for each recipient to send each mail asynchronously
|
77
|
78
|
return new Promise((sent) => {
|
78
|
79
|
params.to = recipient;
|
79
|
|
-
|
|
80
|
+ // Send the email
|
80
|
81
|
transporter.sendMail(params, (err, infos) => {
|
|
82
|
+ // Promise callback
|
81
|
83
|
sent();
|
82
|
84
|
if(err) {
|
83
|
85
|
return next(err, recipient);
|
|
@@ -86,6 +88,7 @@ function sendMails(params, update, done) {
|
86
|
88
|
});
|
87
|
89
|
});
|
88
|
90
|
});
|
|
91
|
+ // Run all the promises (= send all the mails)
|
89
|
92
|
Promise.all(mails).then(done);
|
90
|
93
|
}
|
91
|
94
|
|