【问题标题】:Cronjob with nodejs for sending email使用 nodejs 发送电子邮件的 Cronjob
【发布时间】:2016-03-23 13:59:26
【问题描述】:

我正在寻找用于向用户发送电子邮件的节点时间调度程序并找到了这个 cronjob ,但下面似乎不起作用的是我的带有函数调用 API 的代码

我对 node js 很陌生,谁能帮我解决这个“在运行服务器时它不会进入 'app.get' 函数本身。

  var cron = require('cron');
  var cronJob = cron.job("0 */10 * * * *", function(){

  app.get('/email',function(req, res) {
  console.log("second")
  console.log(req.body.htmltag);
    db.collection('UserData', function(err, collection) {
      collection.find({},{email:1}).toArray(function(err, items) {
      res.send(items);

var transporter = nodemailer.createTransport('smtps://riyas.1012@gmail.com:aslihaabu@3734@smtp.gmail.com');

      for(i=0;i<items.length;i++)
{
var mailOptions = {
    from: ' <svatsan53@gmail.com>', // sender address
    to: items[i].email, // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world ????', // plaintext body
    html:  req.body.htmltag // html body
};
transporter.sendMail(mailOptions, function(error, info){
    if(error){
        return console.log(error);
            }
    console.log('Message sent: ' + info.response);
    })


        }
        });
    });
});
}); 
cronJob.start();

【问题讨论】:

  • Cron 作业 + 事件监听器?删除 HTTP get 的事件侦听器。

标签: node.js cron


【解决方案1】:
app.get('/email',function(req, res) {})

这段代码定义了一个路由器/email
我认为您正在调用 api /email,但是这段代码是错误的

也许你应该这样做:

var request = require('request');

request.get('/email', function (err, res, body) {
  if (err || res.statusCode !== 200) {
    throw new Error('invalid url');
  }

  console.log(body);
  // send email here
});

试试这样的 cron 代码:

var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function() {
  console.log('You will see this message every second');
}, null, true, 'America/Los_Angeles');

检查 usage 的 cron 模块

希望对你有帮助

【讨论】:

  • 我可以使用上述代码发送邮件,但我的问题是我需要从数据库中获取电子邮件 ID 并将邮件发送给所有用户。我修改了您提供的代码,但它不起作用。!任何其他想法请。
  • 你想在app.get('/email',function(req, res) {...}上做什么
  • 我认为你最好重构你的代码,提取'send mail'代码,然后你在cron作业中得到简单的代码,然后你就可以很好地处理它了
猜你喜欢
  • 2021-10-23
  • 1970-01-01
  • 1970-01-01
  • 2018-09-02
  • 2019-06-14
  • 1970-01-01
  • 2010-12-07
  • 2014-07-13
  • 2021-03-17
相关资源
最近更新 更多