node-schedule在特定日期规则下不使用send

时间:2016-04-30 22:54:57

标签: javascript node.js nodemailer

我正在尝试使用Node-schedule和nodemailer设置电子邮件提醒。

基本上我的应用程序需要发送两封电子邮件......一个是在调用模块时立即发送的,另一个是在特定日期发送的。

目前我只选择了一个随机日期进行测试,但我无法收到预定的邮件。

我可以确认电子邮件工作正常,因为我可以在立即发送时收到它们,但是指定的日期节点调度程序不起作用。

仅供参考: 我测试了以确保我的服务器与我同时运行,并且我输入了24小时的日期格式。

var schedule = require('node-schedule');

module.exports = function (jobData) {
    var nodemailer = require('nodemailer');
    var smtpTransport = nodemailer.createTransport
        ('smtps://emailname%40gmail.com:somepassword@smtp.gmail.com');

function callTransporter(emailData) {
    smtpTransport.sendMail(emailData, function (error, info) {
        if (error) {
            return console.log(error);
        }
        console.log('Message sent: ' + info.response);
    });
}

function interviewReminderEmail(emailData) {
    var mailOptions = {
        from: '"Job Seeker" <donotreply@fdsfsdf.com>',
        to: 'someperson@gmail.com',
        subject: 'Interview coming up! ✔',
        text: 'some message',
        html: '<b>blablabla</b>'
    };

    var interviewDate = new Date(2016, 4, 30, 15, 30, 0);

    //region of code where I setup scheduled email. 
    // I get no errors, however it is not sending an email either.
    var j = schedule.scheduleJob(interviewDate, function () {
        console.log('Sending interview reminder Email.');
        callTransporter(mailOptions);
    });
}

interviewReminderEmail(jobData);

}

1 个答案:

答案 0 :(得分:2)

我想我明白了,4月是3,因为1月份从0开始!