Nodemailer 是一個(gè)基于Node的郵件服務(wù)模塊拣凹。
使用 Nodemailer 完成一個(gè)發(fā)郵件功能非常簡(jiǎn)單,只需3步:
- 引入模塊
- 創(chuàng)建 transport
- 發(fā)送郵件
引入模塊
首先安裝 Nodemailer
npm install nodemailer
引入
var mailer = require('nodemailer');
創(chuàng)建transport
創(chuàng)建 transport 使用 Nodemailer 的createTransport
方法恨豁,需要配置一下郵件服務(wù)嚣镜。
首先,要在郵箱設(shè)置里開(kāi)啟 SMTP 服務(wù)圣絮。
然后祈惶,設(shè)置一個(gè)客戶端授權(quán)密碼。
最后扮匠,寫一個(gè)配置文件(conf/mail.js
)捧请。以126郵箱為例:
module.exports = {
host: 'smtp.126.com',
auth: {
user: 'user@126.com',
pass: '******'
}
}
host
字段配置剛才開(kāi)啟的服務(wù)地址。
auth
里的user
字段配置郵箱賬號(hào)棒搜,pass
字段配置剛才設(shè)置的授權(quán)密碼疹蛉。
這樣創(chuàng)建一個(gè) transport:
var mailConf = require('conf/mail');
var transport = mailer.createTransport(mailConf);
發(fā)送郵件
發(fā)郵件使用 Nodemailer 的sendMail
方法,需要配置一下郵件內(nèi)容力麸。
這里配置了發(fā)件人可款,收件人,標(biāo)題和正文:
var mailOptions = {
from: mailConf.auth.user,
to: 'receiver@xxx.com',
subject: 'Hi, there',
text: 'Mail from Node!'
}
可以像官方文檔一樣定義一個(gè)回調(diào)函數(shù):
function mailCallback(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
}
然后克蚂,就可以發(fā)送郵件了:
transport.sendMail(mailOptions, mailCallback);
總結(jié)
這樣就完成了最基本的發(fā)郵件功能闺鲸。
Nodemailer 文檔非常詳細(xì),可以探索實(shí)現(xiàn)更多功能埃叭。