利用Node.JS實(shí)現(xiàn)郵件發(fā)送功能
第一步、配置篇
首先需要安裝nodemailer庫
npm install nodemailer//默認(rèn)會安裝最新的版本。
關(guān)于這個庫的文檔參見nodemailer
第二步、庫的一些使用介紹
這個庫使用方法很簡單的。首先是要創(chuàng)建一個用于發(fā)送郵件的實(shí)例
var transporter = nodemailer.createTransport(transport[, defaults])
transport參數(shù)屬性
屬性太多了就只寫一些關(guān)鍵的屬性
port:連接的端口號,一般就是465
host:你用于發(fā)送郵件的服務(wù)器的host,比如163的host是stmp.163.com
auth:這個就是和老版本不一樣的地方了。新版本是用一個字面量存儲用戶名和密碼。注意你的郵箱要開啟stmp。
user:用戶名
pass:密碼。如果你的163設(shè)置了第三方登錄密碼的話這里要填你的第三方登錄密碼、
設(shè)置好了這些就可以使用啦~這里貼上我的設(shè)置
var smtpConfig = {
host: 'smtp.163.com',
port: 465,
auth: {
user: 'xxxx',
pass: 'xxxx'
}
};
var transporter = nodemailer.createTransport(smtpConfig);
第三步、使用篇
現(xiàn)在我們可以使用以下函數(shù)進(jìn)行發(fā)送郵件
transporter.sendMail(data[, callback])
data郵件內(nèi)容
from 郵件的發(fā)件人
to 郵件的收件人
subject 主題
text 郵件是以文本的方式進(jìn)行發(fā)送
html 郵件內(nèi)容是html網(wǎng)頁效果
attachments 附件。詳細(xì)可以看官方文檔
callback回調(diào)函數(shù)
接受兩個參數(shù) err和info
err
如果失敗了就可以打印這個對象看相關(guān)信息
info
可以看很多發(fā)送狀態(tài)的信息
messageID 會返回信息的messageID值,我也不太懂
accepted 是一個數(shù)組,包括服務(wù)器接收的內(nèi)容的地址
rejected 意義和上面差不多,就是相反的意思
好了說完了我們就可以發(fā)送郵件了
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("郵件內(nèi)容:<br/>這是來自nodemailer發(fā)送的郵件");
總結(jié)
以上就是利用Node.JS實(shí)現(xiàn)郵件發(fā)送功能的全部內(nèi)容,希望本文的內(nèi)容對大家學(xué)習(xí)或者使用Node.js能有所幫助,如果有疑問大家可以留言交流。
相關(guān)文章
在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的簡單步驟講解
這篇文章主要介紹了在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的步驟,Node使得JavaScript程序可以在本地操作系統(tǒng)環(huán)境中解釋運(yùn)行,需要的朋友可以參考下2016-01-01
詳解如何使用Node.js編寫命令工具——以vue-cli為例
本篇文章主要介紹了如何使用Node.js編寫命令工具——以vue-cli為例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
使用async、enterproxy控制并發(fā)數(shù)量的方法詳解
并發(fā)相信對大家來說都不陌生,這篇文章主要給大家介紹了關(guān)于使用async、enterproxy控制并發(fā)數(shù)量的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
Node.js實(shí)現(xiàn)批量去除BOM文件頭
這篇文章主要介紹了Node.js實(shí)現(xiàn)批量去除BOM文件頭,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12
node.js實(shí)現(xiàn)pdf與圖片互轉(zhuǎn)代碼示例
因工作需求,記錄一次如何在Node中pdf與圖片互轉(zhuǎn)各種操作,這篇文章主要給大家介紹了關(guān)于node.js實(shí)現(xiàn)pdf與圖片互轉(zhuǎn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
node.js實(shí)現(xiàn)微信開發(fā)之獲取用戶授權(quán)
這篇文章主要介紹了node.js實(shí)現(xiàn)微信開發(fā)之獲取用戶授權(quán),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

