使用 Nodemailer 發送郵件

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

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

  1. 引入模塊
  2. 創建 transport
  3. 發送郵件

引入模塊

首先安裝 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 文檔非常詳細,可以探索實現更多功能。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 準備工作 為了實現這個功能,你首先要有一個郵箱,由于需要使用 SMTP 方式發送,你還需要開啟相關功能。你可以登錄...
    不要和我名字一樣閱讀 995評論 0 4
  • 0.目標 這一節,我將實現一個簡單的發送郵件功能。 參考代碼 1.部署 1.1 部署Express 如果不知道如何...
    Mike的讀書季閱讀 21,883評論 9 23
  • 點擊查看原文 Web SDK 開發手冊 SDK 概述 網易云信 SDK 為 Web 應用提供一個完善的 IM 系統...
    layjoy閱讀 13,933評論 0 15
  • 人生的關鍵不在于拿了一副好牌,而是在于打好一手爛牌。 多看一本書,去做可以做的事,那么磨難必定會照亮你的路。
    袁益君閱讀 203評論 0 1