完整代码大家在文章末下载
注意以下模块请大家自行安装
const nodemailer =require('nodemailer') const schedule =require('node-schedule') const path =require('path') const template=require('art-template')
如何安装?
例安装path
打开终端输入 npm install path -g
部分代码
//引用模块 const nodemailer =require('nodemailer') const schedule =require('node-schedule') const path =require('path') const template=require('art-template') //模板路径 const views=path.join(__dirname,'config','index.art') //时间差 async function getDatetime(){ var date1= '2022/03/17 00:00:00'; //以往时间 var date2 = new Date(); //当前时间 var date3 = date2.getTime() - new Date(date1).getTime(); //时间差的毫秒数 //计算出相差天数 var days=Math.floor(date3/(24*3600*1000)); //计算出小时数 var leave1=date3%(24*3600*1000) //计算天数后剩余的毫秒数 var hours=Math.floor(leave1/(3600*1000)) //计算相差分钟数 var leave2=leave1%(3600*1000) //计算小时数后剩余的毫秒数 var minutes=Math.floor(leave2/(60*1000)) //计算相差秒数 var leave3=leave2%(60*1000) //计算分钟数后剩余的毫秒数 var seconds=Math.round(leave3/1000) j_content(days); } //html模板配置 async function j_content(jdatetime){ //const j_days= const html=template(views,{ namea : '你', nameb:'她', datetime:jdatetime, Signature:'xxxxxx' }) j_email(html); } //邮箱配置 async function j_email(content){ const email = nodemailer.createTransport({ service:'xxxxxxx@qq.com',//你的邮箱 secure:true, auth:{ user:'xxxxxxx@qq.com',//你的邮箱 pass:'自己邮箱账户申请'//你的邮箱授权码 } }); email.sendMail({ from:'11949420@qq.com',//你的邮箱 subject:'久伴私信你', to:'xxxxxxx@qq.com',//对方邮箱 html:content },(err,data)=>{ if(err){ console.error('发送失败'+err); } else { console.log('发送成功'); } }) } //定时发送 async function getTime(){ var rule = new schedule.RecurrenceRule(); rule.dayOfWeek = [0, new schedule.Range(1, 6)]; rule.hour = 21; rule.minute =30; var j = schedule.scheduleJob(rule, function(){ console.log("执行任务"); getDatetime() }); } getTime()