1. 程式人生 > 其它 >Node.js使用nodemailer定時傳送郵件

Node.js使用nodemailer定時傳送郵件

技術標籤:node.js筆記伺服器nodejs

  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 index.js執行正確