使用Node.js還可以發(fā)郵件
前言
今天,我們給大家開發(fā)一個(gè)小效果。篇幅比較短,主要給大家展示效果。
實(shí)戰(zhàn)
首先我們初始化一個(gè)Node項(xiàng)目
npm init -y
創(chuàng)建一個(gè)app.js文件
'use strict';
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
// host: 'smtp.ethereal.email',
service: 'qq', // 使用了內(nèi)置傳輸發(fā)送郵件 查看支持列表:https://nodemailer.com/smtp/well-known/
port: 465, // SMTP 端口
secureConnection: true, // 使用了 SSL
auth: {
user: 'xxx@qq.com', // 這里以QQ郵箱為例
pass: 'kzudmlwerknibejc', // 設(shè)置的smtp授權(quán)碼
}
});
let mailOptions = {
from: '"xxx" <xxx@qq.com>', // sender
to: 'xxx@163.com', // receivers
subject: 'Hello', // Subject line
// 發(fā)送text或者h(yuǎn)tml格式
// text: 'Hello world?', // plain text body
html: '<b>Hello world?</b>' // html body
};
// send mail with defined transport object
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
// Message sent: <04ec7731-cc68-1ef6-303c-61b0f796b78f@qq.com>
});
Nodemailer是一個(gè)簡(jiǎn)單易用的Node.js郵件發(fā)送組件。
官網(wǎng)地址:https://nodemailer.com
GitHub地址:https://github.com/nodemailer/nodemailer
Nodemailer的主要特點(diǎn)包括:
支持Unicode編碼
支持Window系統(tǒng)環(huán)境
支持HTML內(nèi)容和普通文本內(nèi)容
支持附件(傳送大附件)
支持HTML內(nèi)容中嵌入圖片
支持SSL/STARTTLS安全的郵件發(fā)送
支持內(nèi)置的transport方法和其他插件實(shí)現(xiàn)的transport方法
支持自定義插件處理消息
支持XOAUTH2登錄驗(yàn)證
獲取smtp授權(quán)碼
登錄QQ郵箱,點(diǎn)擊郵箱設(shè)置。
找到如下圖紅框所示,開啟IMAP/SMTP服務(wù)后,就可以隨機(jī)獲取授權(quán)碼了。
啟動(dòng)項(xiàng)目
node app.js
優(yōu)化
可以使用node-schedule來(lái)創(chuàng)建定時(shí)任務(wù)
npm install node-schedule
單位時(shí)間段可以執(zhí)行代碼發(fā)送郵件。
作者:Vam的金豆之路
主要領(lǐng)域:前端開發(fā)
我的微信:maomin9761
微信公眾號(hào):前端歷劫之路