Node.js使用nodemailer定時傳送郵件
阿新 • • 發佈:2021-01-12
- 安裝
- nodemailer是一個簡單的node郵件傳送模組,
npm install nodemailer
安裝nodemailer - 引入axios資料請求方法
- 安裝定時任務
npm install node-schedule
- 例項
// 傳送郵件函式
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)
});
- 獲取IMAP授權碼
QQ郵箱->郵箱設定->賬戶->開啟服務
完成這步生成授權碼,保留即可
node index.js
執行正確