首頁 >web前端 >js教程 >利用Node.JS實作郵件傳送功能

利用Node.JS實作郵件傳送功能

高洛峰
高洛峰原創
2016-12-09 13:43:141443瀏覽

第一步、設定篇

首先需要安裝nodemailer函式庫

npm install nodemailer//默认会安装最新的版本。

   

關於這個函式庫的文檔請參考nodemailer

第二步、庫的一些使用介紹這個函式庫很簡單的使用。首先是要建立一個用來寄送郵件的實例

var transporter = nodemailer.createTransport(transport[, defaults])

   

transport參數屬性

屬性太多了只寫一些關鍵的屬性

    host:你用於發送郵件的伺服器的host,例如163的host是stmp.163.com

     auth:這個就是和舊版本不一樣的地方了。新版本是用一個字面量儲存使用者名稱和密碼。注意你的信箱要開啟stmp。

     user:使用者名稱

     pass:密碼。如果你的163設定了第三方登入密碼的話這裡要填你的第三方登入密碼、

設定好了這些就可以使用啦~這裡貼上我的設定

var smtpConfig = {
 host: 'smtp.163.com',
 port: 465,
 auth: {
  user: 'xxxx',
  pass: 'xxxx'
 }
};
var transporter = nodemailer.createTransport(smtpConfig);

   


第三步、使用篇

現在我們可以使用以下函數進行發送郵件

transporter.sendMail(data[, callback])

   

data郵件內容

          subject 主題

      text郵件是以文字的方式傳送

      html 郵件內容為html網頁效果

      attachments 配件。詳細可以看官方文件

callback回調函數

      接受兩個參數 err和info

err


如果失敗了就可以打印這個物件相關信息的相關信息

      messageID 會回傳訊息的messageID值,我也不太懂


      accepted 


好了說完我們就可以寄email了

var sendmail = function(html){
 var option = {
  from:"sender",
  to:"accepter",
  subject : '来自node的邮件',
  html : html
 }
 transporter.sendMail(option, function(error, response){
  if(error){
   console.log("fail: " + error);
  }else{
   console.log("success: " + response.messageID);
  }
 });
}
 
sendmail("邮件内容:<br/>这是来自nodemailer发送的邮件");

   

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn