Node.js使用nodemailer定时发送邮件

  1. 安装
  • nodemailer是一个简单的node邮件发送模块,
    npm install nodemailer 安装nodemailer
  • 引入axios数据请求方法
  • 安装定时任务
    npm install node-schedule
  1. 实例
    // 发送邮件函数
  const nodemailer = require("nodemailer");
  // 引入axios数据请求方法
  var axios = require('axios')
  //引入定时任务
  var schedule = require("node-schedule");
  
  async function sendMail(text){
       //text是邮件内容
    var user = '***@qq.com' //自己的邮箱
    var pass = '***' //我的qq邮箱的IMAP授权码
    var girl = '**@qq.com' //对方
    let transporter = nodemailer.createTransport({
     
      host:'smtp.qq.com',   
      port:587,
      secure: false,
      auth:{
     
        user:user,
        pass:pass
      }
    })
    let info = await transporter.sendMail({
     
      from: `这是我<${
       user}>`,
      to: `佩奇<${
       girl}>`,
      subject: '小猪家信',
      text:text
    })
  }
  function getColorPi(){
     
  //彩虹屁链接,get请求获取一段随机文字
    axios.get('https://api.wangpinpin.com/unAuth/getDoglickingDiary?typeId=0c97d296-e5b1-11ea-9d4b-00163e1e93a5')
    .then(res=>{
     
      var ColorPi = res.data.data
      return ColorPi
    })
  }
  schedule.scheduleJob({
      hour: 17, minute: 30 }, function () {
     
    console.log("启动任务:" + new Date());
    var msg = getColorPi()
    sendMail(msg)
  });
  
  1. 获取IMAP授权码
    QQ邮箱->邮箱设置->账户->开启服务
    Node.js使用nodemailer定时发送邮件_第1张图片
    完成这步生成授权码,保留即可
    node index.js执行正确

你可能感兴趣的:(node.js,笔记,服务器,nodejs)