中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用nodejs自動發送郵件

發布時間:2021-07-19 10:31:36 來源:億速云 閱讀:139 作者:chen 欄目:web開發

這篇文章主要介紹“如何使用nodejs自動發送郵件”,在日常操作中,相信很多人在如何使用nodejs自動發送郵件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用nodejs自動發送郵件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

實現方案

實現自動發送郵件筆者采用了基于Nodejs生態的nodemailer, 它可以輕松的幫我們發送電子郵件, 官網地址: nodemailer.

如何使用nodejs自動發送郵件

之所以選擇nodemailer是因為它提供了非常靈活的自定義配置和安全保障, 比如:

  • 具有零依賴關系的單一模塊, 代碼容易審核,沒有死角

  • Unicode支持使用任何字符,包括表情符號?

  • 郵件內容既支持普通文本, 還支持自定義html

  • 支持自定義附件

  • 支持安全可靠的SSL/STARTTLS郵件發送

  • 支持自定義插件處理郵件消息

還有很多特點筆者就不一一介紹了. 接下來我們來看一個筆者簡化并翻譯的官網案例:

"use strict"; const nodemailer = require("nodemailer");  // 使用async..await 創建執行函數 async function main() {   // 如果你沒有一個真實郵箱的話可以使用該方法創建一個測試郵箱   let testAccount = await nodemailer.createTestAccount();    // 創建Nodemailer傳輸器 SMTP 或者 其他 運輸機制   let transporter = nodemailer.createTransport({     host: "smtp.ethereal.email", // 第三方郵箱的主機地址     port: 587,     secure: false, // true for 465, false for other ports     auth: {       user: testAccount.user, // 發送方郵箱的賬號       pass: testAccount.pass, // 郵箱授權密碼     },   });    // 定義transport對象并發送郵件   let info = await transporter.sendMail({     from: '"Dooring ?" <dooring2021@163.com>', // 發送方郵箱的賬號     to: "bar@example.com, baz@example.com", // 郵箱接受者的賬號     subject: "Hello Dooring", // Subject line     text: "H5-Dooring?", // 文本內容     html: "歡迎注冊h6.dooring.cn, 您的郵箱驗證碼是:<b>${emailCode}</b>", // html 內容, 如果設置了html內容, 將忽略text內容   }); }  main().catch(console.error);

以上代碼是發送帶有純文本和HTML正文的電子郵件的完整示例. 筆者在代碼上做了詳細的翻譯, 我們可以總結出要想發送郵件, 我們需要如下3個步驟:

  • 創建Nodemailer傳輸器 SMTP 或者其他運輸機制

  • 設置 Message 選項(將什么消息發送給誰)

  • 使用先前創建的傳輸器的sendMail()方法傳遞消息對象

宏觀的使用流程我們知道了, 接下來我們落實到每一個技術功能點來實現.我們需要關注如下幾個核心點:

  • 如何設置 host

  • 如何設置 auth

  • 如何配置 Message 選項

解答了以上3個問題, 我們就能靈活的使用Nodemailer發送自定義郵件了.

如何設置host, port, secure

這里筆者拿網易郵箱來舉例. 比如我們想用我們自己的網易郵箱給用戶發送郵件, 我們需要先注冊一個用于發送郵件的網易郵箱,  比如dooring2021@163.com. 由于我們采用SMTP傳輸器 , 所以在郵箱主頁我們找到如下選項并設置:

如何使用nodejs自動發送郵件

在該頁面下方我們可以找到對應的host, 如下:

如何使用nodejs自動發送郵件

關于port和secure, 我們采用默認配置即可, 設置secure為true,表示端口默認使用465. 詳細配置如下:

如何使用nodejs自動發送郵件

如何設置auth

auth我們在上一步的操作中已經涉及到了, 我們在開啟IMAP/SMTP服務時會提示保存郵箱授權碼, 這里的授權碼就是auth.pass的值,  auth.user表示當前授權的郵箱.

如何設置Message

消息配置是我們郵箱服務比較重要的部分, 官方提供了如下幾個配置說明:

如何使用nodejs自動發送郵件

這里筆者給大家詳細介紹一下:

  • from  發件人的電子郵件地址。所有電子郵件地址都可以是純'sender@server.com“或格式化”&lsquo;發送者名稱&rsquo;sender@server.com'

  • to 逗號分隔的列表或收件人的電子郵件地址的排列

  • cc 逗號分隔的列表或將顯示在“抄送”字段中的收件人電子郵件地址數組

  • bcc 逗號分隔的列表或將顯示在“密件抄送:”字段中的收件人電子郵件地址數組

  • subject 電子郵件的主題

  • text 消息的文本內容

  • html 消息的html內容, 如果定義了html, 將忽略text

  • attachments 附件內容

熟悉了以上配置之后我們基本可以配置滿足80%場景的郵件發送需求了. 這里我們來看一個設置Message的簡單案例:

await transporter.sendMail({   from: '"v6.dooring" <dooring2021@163.com>', // sender address   to: 'xujiang156@qq.com', // list of receivers   subject: 'welcome to use dooring', // Subject line   text: 'Hello world?', // plain text body   html: `歡迎注冊v6.dooring, 您的郵箱驗證碼是:<b>${emailCode}</b>`, // html body })

該案例是使用dooring郵箱給一個普通用戶發送郵箱驗證碼的場景, 是不是很熟悉呢? 這個場景目前被應用在很多登錄注冊相關的場景中.  接下來看看實際的效果:

如何使用nodejs自動發送郵件

到此,關于“如何使用nodejs自動發送郵件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

油尖旺区| 新乡县| 青海省| 秭归县| 炉霍县| 澄迈县| 盐津县| 鄱阳县| 方正县| 年辖:市辖区| 墨竹工卡县| 凌云县| 吉安市| 黑水县| 绍兴县| 罗田县| 邛崃市| 佛教| 云和县| 临朐县| 西畴县| 体育| 陇南市| 镇江市| 江都市| 葫芦岛市| 德安县| 团风县| 尤溪县| 南召县| 鄂伦春自治旗| 寻甸| 扬州市| 镶黄旗| 娱乐| 库尔勒市| 普兰县| 息烽县| 高碑店市| 阳原县| 建阳市|