Я создаю веб-приложение для управления курсами.У меня есть mongodb со всеми моими выпускниками, их электронной почтой и регистрационным идентификатором.Я хочу отправить идентификатор на их почту.У меня есть шаблон HTML, а затем с помощью функций fs.readfile и .replace () я заменяю заполнители реальной информацией, которую я хочу отправить.
async function sendMail(mail,idreg){
var html_template;
const dataReg = "12/02/2019";
const oraReg = "16:00";
console.log(mail,idreg)
fs.readFile("./html_template/beefree-9o6bg29htfb.html",(err,data)=>{
html_template = data.toString().replace("XYZXYZXYZ",idreg).replace("XX/YY/ZZZZ",dataReg).replace("XX:YY",oraReg);
});
// Generate test SMTP service account from ethereal.email
// Only needed if you don't have a real mail account for testing
let account = await nodemailer.createTestAccount();
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
port: 465,
secure: true, // true for 465, false for other ports
auth: {
user: "mymail@gmail.com ", // generated ethereal user
pass: "mypw" // generated ethereal password
}
});
// setup email data with unicode symbols
let mailOptions = {
from: '"Cogestione Moscati" <mymail@gmail.com>', // sender address
to: mail, // list of receivers
subject: "Il tuo codice di registrazione per la Cogestione", // Subject line
html: html_template // html body
};
// send mail with defined transport object
let info = await transporter.sendMail(mailOptions)
console.log("Message sent: %s", info.messageId);
}
Проблема в том, что я отправил 8 раз одну и ту же почту,4 раза я получил правильно, 4 раза я получил без тела.