node-schedule 不适用于在特定日期发送规则
node-schedule not working with send at specific date rule
我正在尝试使用 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);
}
我想我明白了,4 月是 3,因为 1 月从 0 开始。doh!
我正在尝试使用 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);
}
我想我明白了,4 月是 3,因为 1 月从 0 开始。doh!