Node.js 用于发送电子邮件的带有nodejs的Cronjob
我正在寻找用于向用户发送电子邮件的节点时间调度器,找到了这个cronjob,但它似乎不起作用。下面是我的函数调用API代码 我对node js非常陌生,有谁能帮我解决这个“在运行服务器时它不会进入”app.get“函数本身的问题吗Node.js 用于发送电子邮件的带有nodejs的Cronjob,node.js,cron,Node.js,Cron,我正在寻找用于向用户发送电子邮件的节点时间调度器,找到了这个cronjob,但它似乎不起作用。下面是我的函数调用API代码 我对node js非常陌生,有谁能帮我解决这个“在运行服务器时它不会进入”app.get“函数本身的问题吗 var cron = require('cron'); var cronJob = cron.job("0 */10 * * * *", function(){ app.get('/email',function(req, res) { consol
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 app.get('/email',function(req, res) {})
var cron=require('cron');
var cronJob=cron.job(“0*/10****”,function(){
app.get('/email',函数(req,res){
console.log(“第二个”)
控制台日志(req.body.htmltag);
db.collection('UserData',函数(err,collection){
collection.find({},{email:1}).toArray(函数(err,items){
res.send(项目);
var transporter=nodeEmailer.createTransport('smtps://riyas.1012@gmail.com:aslihaabu@3734@smtp.gmail.com),;
对于(i=0;i
此代码定义为路由器/email
我认为您正在调用api/email
,但此代码是错误的
也许你应该这样做:
var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function() {
console.log('You will see this message every second');
}, null, true, 'America/Los_Angeles');
请尝试下面这样的cron代码:
检查cron模块
希望它能帮助Cron Job+事件监听器?删除HTTP get的事件监听器。我可以用上述代码发送邮件,但我的问题是我需要从DB获取电子邮件id并向所有用户发送邮件。我修改了您提供的代码,但它不起作用。!还有其他想法吗?您想在app.get('/email',function(req,res)上做什么{…}
我认为您最好重构代码,提取“发送邮件”代码,然后在cron作业中获得简单代码,这样您就可以很好地处理它了
var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function() {
console.log('You will see this message every second');
}, null, true, 'America/Los_Angeles');