Nodemailer 是一個基於Node的郵件服務模塊。node
使用 Nodemailer 完成一個發郵件功能很是簡單,只需3步:git
引入模塊github
建立 transportnpm
發送郵件函數
首先安裝 Nodemailerui
npm install nodemailer
引入code
var mailer = require('nodemailer');
建立 transport 使用 Nodemailer 的createTransport
方法,須要配置一下郵件服務。文檔
首先,要在郵箱設置裏開啓 SMTP 服務。get
而後,設置一個客戶端受權密碼。回調函數
最後,寫一個配置文件(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文檔 很是詳細,能夠探索實現更多功能。