node定时发送html格式邮件,带模板引擎编辑动态编辑html

完整代码大家在文章末下载

注意以下模块请大家自行安装

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() 
 
   

下载权限

查看
  • 免费下载
    评论并刷新后下载
    登录后下载

查看演示

  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA赞助
共{{data.count}}人
人已赞助
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索