Я пытаюсь отправить электронное письмо нескольким лицам, и я получаю адреса из пожарной базы и сохраняю их в массиве, называемом отделом электронной почты, затем я просматриваю массив и отправляю электронную почту на каждый адрес, код работает правильно и отправляет все электронные письма. Мой вопрос: где в коде напишите agent.add («все письма успешно отправлены») после отправки всех писем
function sendEmails(agent){
//ask for department number and subject and message
var sub=agent.parameters.subject;
var msg=agent.parameters.message;
return getEmailsForDepartment(agent.parameters.departmentNO).then(function(){
departmentEmails.forEach(function(email){
return createMessagesForDepartment(sub,msg,email).then(()=>{
console.log("email sent successfully");
}).catch(()=>{
console.log(`fail`);
});
})
});
}// end of send emails
//this function to get all addresses from database
function getEmailsForDepartment(numOFDepartment){
var query = admin.database().ref("/"+departmentsNo[numOFDepartment]).orderByKey();
return query.once("value").then(function(snapshot){
snapshot.forEach(function(childSnapshot){
departmentEmails.push(childSnapshot.child('email').val());
});
});
}
function createMessagesForDepartment(sub,msg,emailAdd){
return new Promise((resolve,reject)=>{
// i promise to send email
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '****@gmail.com',
pass: '****'
}
});
var mailOptions = {
from: '*****@gmail.com',
//how to send for all emails in array
to: emailAdd, //receiver email
subject: sub,
text: msg
};
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(error);
reject(error);
} else {
console.log('Email sent: ' + info.response);
resolve('Email sent: ' + info.response);
}
});
});
}//end of create message