首頁 > web前端 > js教程 > 基於Node.js實作nodemailer郵件發送_node.js

基於Node.js實作nodemailer郵件發送_node.js

WBOY
發布: 2016-05-16 15:17:51
原創
1683 人瀏覽過

Nodemailer是一個簡單易用的Node.js郵件發送元件,具體操作如下

1、安裝nodemailer

npm install nodemailer --save

登入後複製

2、特點

Nodemailer的主要特點包括:

  • 支援Unicode編碼
  • 支援Window系統環境
  • 支援HTML內容與一般文字內容
  • 支援附件(傳送大附件)
  • 支援HTML內容嵌入圖片
  • 支援SSL/STARTTLS安全的郵件寄送
  • 支援內建的transport方法和其他外掛實作的transport方法
  • 支援自訂外掛程式處理訊息
  • 支援XOAUTH2登入驗證

以上的功能特點,已經涵蓋了大部分的發郵件的需求了,接下來就讓我們動手開始寫程式吧。

3、簡單範例

這是一個完整的例子來發送電子郵件以明文和HTML本體

var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');

// setup e-mail data with unicode symbols
var mailOptions = {
  from: 'Fred Foo &#128101; <foo@blurdybloop.com>', // sender address
  to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers
  subject: 'Hello &#10004;', // Subject line
  text: 'Hello world &#128052;', // plaintext body
  html: '<b>Hello world &#128052;</b>' // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
  if(error){
    return console.log(error);
  }
  console.log('Message sent: ' + info.response);
});

登入後複製

4、常見錯誤

{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]
 name: 'AuthError',
 data: '454 Authentication failed, please open smtp flag first!',
 stage: 'auth' }
登入後複製

錯誤原因: 帳號未設定該服務
解決方案: QQ信箱 -> 設定 -> 帳號 -> 開啟服務:POP3/SMTP服務

{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user]
 name: 'SenderError',
 data: '501 mail from address must be same as authorization user',
 stage: 'mail' }
登入後複製

錯誤原因: 寄件帳號與認證帳號不同,即使用者名稱和密碼不符。

以上就是本文的全部內容,希望對大家的學習有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板