Я делаю простую вещь, но это не работает.node.js отправка почты с задержкой
Что я хочу сделать, это отправить почту с задержкой в 30 секунд.
Вот код:
user.forEach(function(data) {
var locals = {
fname: data.Name,
your_name: data.From,
}
template.render(locals, function(err, results) {
if (err) {
return console.error(err)
} else {
transporter.sendMail({
to: data.Email,
subject: "Welcome",
replyTo: data.ReplyTo,
html: results.html,
text: results.text,
}, function(error, info) {
console.log("here");
if (error) {
console.log(error);
} else {
console.log('Message sent: ' + info.response);
};
});
}
});
});
Здесь пользователь массив объектов с деталями, как электронная почта, от, имя и т.д.
Каждый объект в массиве содержит информацию о конкретной почты для отправки.
Я хочу отправить почту и подождать 30 секунд, а затем отправить второй ... и ждать и так далее.
Я использовал setInterval, а также npm sleep, но это не работает. Он ждет 30 секунд, а затем отправляет все письма сразу.
Recurrsive функций не выполняется, если предел стека вызовов достигается. Представьте себе 5000 писем в очереди. –