使用 Nodemailer 發送郵件

Nodemailer 是一個基於Node的郵件服務模塊。node

使用 Nodemailer 完成一個發郵件功能很是簡單,只需3步:git

  1. 引入模塊github

  2. 建立 transportnpm

  3. 發送郵件函數

引入模塊

首先安裝 Nodemailerui

npm install nodemailer

引入code

var mailer = require('nodemailer');

建立transport

建立 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文檔 很是詳細,能夠探索實現更多功能。

相關文章
相關標籤/搜索