Nodemailer 是一個基于Node的郵件服務模塊。
使用 Nodemailer 完成一個發郵件功能非常簡單,只需3步:
- 引入模塊
- 創建 transport
- 發送郵件
引入模塊
首先安裝 Nodemailer
npm install nodemailer
引入
var mailer = require('nodemailer');
創建transport
創建 transport 使用 Nodemailer 的createTransport
方法,需要配置一下郵件服務。
首先,要在郵箱設置里開啟 SMTP 服務。
然后,設置一個客戶端授權密碼。
最后,寫一個配置文件(conf/mail.js
)。以126郵箱為例:
module.exports = {
host: 'smtp.126.com',
auth: {
user: 'user@126.com',
pass: '******'
}
}
host
字段配置剛才開啟的服務地址。
auth
里的user
字段配置郵箱賬號,pass
字段配置剛才設置的授權密碼。
這樣創建一個 transport:
var mailConf = require('conf/mail');
var transport = mailer.createTransport(mailConf);
發送郵件
發郵件使用 Nodemailer 的sendMail
方法,需要配置一下郵件內容。
這里配置了發件人,收件人,標題和正文:
var mailOptions = {
from: mailConf.auth.user,
to: 'receiver@xxx.com',
subject: 'Hi, there',
text: 'Mail from Node!'
}
可以像官方文檔一樣定義一個回調函數:
function mailCallback(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
}
然后,就可以發送郵件了:
transport.sendMail(mailOptions, mailCallback);
總結
這樣就完成了最基本的發郵件功能。
Nodemailer 文檔非常詳細,可以探索實現更多功能。