async.each(listofemails, function(to, callback){ mailOptions.to = to; console.log(to); smtpTransport.sendMail(mailOptions, function (err) { if (err) { console.log('Sending to ' + to + ' failed: ' + err); callback(err); } else{ console.log('Sent to ' + to); Company.update({status:'not sent'},{$set:{ status:'sent'}},function(error){ if (error) {console.log("error saving status"+error);} else{console.log("status saved");} }); callback(); } });
的setInterval(smtpTransport.sendMail,1000 * 30);
. `
这是我发送电子邮件的代码。 我想在nodejs
中使用nodemailer每小时发送10封电子邮件,例如2封电子邮件
答案 0 :(得分:0)
您可以使用操作系统提供的工具,而不是使用javascript,每小时执行一次节点应用程序。
如果您使用的是Linux,则可以使用crontab
https://www.howtogeek.com/101288/how-to-schedule-tasks-on-linux-an-introduction-to-crontab-files/
如果您使用的是Windows,则可以使用task scheduler
:https://technet.microsoft.com/en-us/library/cc748993(v=ws.11).aspx
答案 1 :(得分:0)
创建一个节点脚本,可以在运行一次时发送电子邮件。
然后通过运行 crontab -e 编辑crontab,并将以下行追加到文件中:
0,30 * * * * node /home/ashwani/test/script.js
现在操作系统将每半小时自动运行script.js,即每小时两次
在上面的代码中,0和30表示每小时的第0分钟和第30分钟。
要从上午10点到下午2点半每半小时运行一次,您可以使用以下代码:
0,30 10,11,12,13,14 * * * node /home/ashwani/test/script.js
处获得战利品