Я реализовал nodemailer для отправки писем. для деталей электронной почты, таких как идентификатор электронной почты, тема и текст, у меня есть таблица в БД. в этой таблице у меня был флаг (новый, обработанный), чтобы получить список новых записей, чтобы я мог отправлять почту новых записей
Я использую для цикла в списке записей для отправки электронных писем. я хочу знать, что после успешной пересылки почты я хочу обновить флаг записи в БД. Я использую sequlize в node.js.
var WEBDialerList=[];
var WEBDialerListCount;
SqlObj.WEBDialer.findAll(
{
where: {
IsDeleted: 0,
Status: 'New'
}
}
)
.then(data => {
WEBDialerList = JSON.parse(JSON.stringify(data));
console.log("d.length")
console.log(WEBDialerList.length)
console.log("d.length")
if (WEBDialerList.length > 0) {
for (var i in WEBDialerList){//= 0; i < WEBDialerList.length; i++) {
WEBDialerListCount = i;
"use strict";
const nodemailer = require("nodemailer");
let transporter = nodemailer.createTransport({
service: "Gmail",
auth: {
user: 'abc@gmail.com',
pass: '******'
}
});
var e = WEBDialerList[i].Email;
let mailOptions = {
from: '"ib ik" <ib.ik2093@gmail.com>',
to: e,
subject: "Test Email from Node.js",
text: " scheduler Hello, this is a test email. I have configured my gmail account in node.js to send emails. I am checking, is it configured correctly.",// plain text body
html: "<b> " + WEBDialerList[i].WEBDialerId + " scheduler Hello, this is a test email. I have configured my gmail account in node.js to send emails. I am checking, is it configured correctly.</b>" // html body
};
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
return console.log(error);
}
else {
console.log("Message sent1: ", info);
console.log(WEBDialerListCount)
transporter.close();
}
})
}
}
})
.catch(function (err) {
console.log(err)
});
В transporter.sendMail я просто получаю его в конце цикла, поэтому мне сложно получить записи, которые необходимо обновить.