引言
本文將通過一個Nodejs的模塊Nodemailer介紹如何在nodejs程序中發郵件。
Nodemailer是Node.js應用程序的一個三方模塊,可以輕鬆實現電子郵件的發送,在大多數時候,它已經成為Node.js中開發郵件客戶端的首選方案了。
安裝
nodemailer的安裝非常簡單,一句話足以
<code>npm install nodemailer/<code>
郵箱設置163為例)
在本篇中我將以163郵箱為例,因為我覺得它的設置相對簡單,所以我們先簡單設置下我們的郵箱,不然後續操作無法進行
- 登錄郵箱,進入賬戶管理,找不到入口的可以看看我的截圖
- POP3/SMTP/IMAP設置
- 授權碼設置(因為我們相當於第三方客戶端,因此需要授權碼,其他郵箱類似)
- 記下設置的授權碼,我們後面將要用到
完整的實例
我們新建一個nodejs的項目,我為了方便演示就簡單寫了一個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>
然後我們運行一下我們的代碼
已經發送成功,值得注意的是如果html不為空,則發送的內容就是html,text就會失效。
總結
nodemailer的功能遠不止於此,像授權、附件這些都是支持的,如果你希望能夠開發一套自己的郵箱客戶端,或者有這方面項目需求,可以參照官網文檔,裡面介紹了很多沒提及到的功能配置,如果涉及到項目保密,那麼可以用JShaman平臺對JS代碼進行混淆加密(NodeJS編程用的是JS,是標準的JS就可以用JShaman進行代碼保護)。
本文主要是說明用代碼實現郵件發送,以及需要怎麼樣設置郵箱。希望對你有所幫助。
閱讀更多 WangLiwen 的文章