簡單幾行代碼,實現Node.js程序發郵件。

簡單幾行代碼,實現Node.js程序發郵件。

引言

本文將通過一個Nodejs的模塊Nodemailer介紹如何在nodejs程序中發郵件。

Nodemailer是Node.js應用程序的一個三方模塊,可以輕鬆實現電子郵件的發送,在大多數時候,它已經成為Node.js中開發郵件客戶端的首選方案了。

安裝

nodemailer的安裝非常簡單,一句話足以

<code>npm install nodemailer/<code>

郵箱設置163為例)

在本篇中我將以163郵箱為例,因為我覺得它的設置相對簡單,所以我們先簡單設置下我們的郵箱,不然後續操作無法進行

  • 登錄郵箱,進入賬戶管理,找不到入口的可以看看我的截圖
簡單幾行代碼,實現Node.js程序發郵件。

  • POP3/SMTP/IMAP設置
簡單幾行代碼,實現Node.js程序發郵件。

  • 授權碼設置(因為我們相當於第三方客戶端,因此需要授權碼,其他郵箱類似)
簡單幾行代碼,實現Node.js程序發郵件。

  • 記下設置的授權碼,我們後面將要用到

完整的實例

我們新建一個nodejs的項目,我為了方便演示就簡單寫了一個js文件,文件名稱自己定義,下面是完整的代碼

簡單幾行代碼,實現Node.js程序發郵件。

主要部分的代碼

<code>//配置一些參數 

let transporter = nodemailer.createTransport({
host: "smtp.163.com",
secureConnection: true, // 使用SSL
port: 465,// true 端口為 465, false則為其它端口
secure: true,
auth: {
user: '你的163郵箱地址', // 使用的發送方郵箱
pass: '剛剛設置的授權碼' // 使用的發送方郵箱授權碼
}
});/<code>
<code> // 發送帶有已定義傳輸對象的郵件
let info = await transporter.sendMail({
from: '"發送方名稱" ', // 發送方名稱和地址
to: "接收方郵件", // 多個接收方郵件,用逗號隔開
subject: "測試主題", // 主題
text: "測試內容", // 純文本正文
html: "

Hello world?

" // html內容
});/<code>

然後我們運行一下我們的代碼

簡單幾行代碼,實現Node.js程序發郵件。

已經發送成功,值得注意的是如果html不為空,則發送的內容就是html,text就會失效。

總結

nodemailer的功能遠不止於此,像授權、附件這些都是支持的,如果你希望能夠開發一套自己的郵箱客戶端,或者有這方面項目需求,可以參照官網文檔,裡面介紹了很多沒提及到的功能配置,如果涉及到項目保密,那麼可以用JShaman平臺對JS代碼進行混淆加密(NodeJS編程用的是JS,是標準的JS就可以用JShaman進行代碼保護)。

本文主要是說明用代碼實現郵件發送,以及需要怎麼樣設置郵箱。希望對你有所幫助。


分享到:


相關文章: