如何使用nodejs中的nodemailer每小时发送2封电子邮件

时间:2017-11-28 09:49:50

标签: node.js timing nodemailer

 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封电子邮件

2 个答案:

答案 0 :(得分:0)

您可以使用操作系统提供的工具,而不是使用javascript,每小时执行一次节点应用程序。

如果您使用的是Linux,则可以使用crontab https://www.howtogeek.com/101288/how-to-schedule-tasks-on-linux-an-introduction-to-crontab-files/

计划节点应用的执行

如果您使用的是Windows,则可以使用task schedulerhttps://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

为了更好地理解,请在https://crontab.guru/#0,30_10,11,12,13,14___*

处获得战利品