基于Node.js實(shí)現(xiàn)nodemailer郵件發(fā)送
Nodemailer是一個(gè)簡(jiǎn)單易用的Node.js郵件發(fā)送組件,具體操作如下
1、安裝nodemailer
npm install nodemailer --save
2、特點(diǎn)
Nodemailer的主要特點(diǎn)包括:
- 支持Unicode編碼
- 支持Window系統(tǒng)環(huán)境
- 支持HTML內(nèi)容和普通文本內(nèi)容
- 支持附件(傳送大附件)
- 支持HTML內(nèi)容中嵌入圖片
- 支持SSL/STARTTLS安全的郵件發(fā)送
- 支持內(nèi)置的transport方法和其他插件實(shí)現(xiàn)的transport方法
- 支持自定義插件處理消息
- 支持XOAUTH2登錄驗(yàn)證
以上的功能特點(diǎn),已經(jīng)覆蓋了大部分的發(fā)郵件的需求了,接下來(lái)就讓我們動(dòng)手開(kāi)始寫(xiě)程序吧。
3、簡(jiǎn)單示例
這是一個(gè)完整的例子來(lái)發(fā)送電子郵件以明文和HTML本體
var nodemailer = require('nodemailer'); // create reusable transporter object using the default SMTP transport var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com'); // setup e-mail data with unicode symbols var mailOptions = { from: 'Fred Foo 👥 <foo@blurdybloop.com>', // sender address to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers subject: 'Hello ✔', // Subject line text: 'Hello world 🐴', // plaintext body html: '<b>Hello world 🐴</b>' // html body }; // send mail with defined transport object transporter.sendMail(mailOptions, function(error, info){ if(error){ return console.log(error); } console.log('Message sent: ' + info.response); });
4、常見(jiàn)錯(cuò)誤
{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!] name: 'AuthError', data: '454 Authentication failed, please open smtp flag first!', stage: 'auth' }
錯(cuò)誤原因: 賬號(hào)未設(shè)置該服務(wù)
解決方案: QQ郵箱 -> 設(shè)置 -> 帳戶 -> 開(kāi)啟服務(wù):POP3/SMTP服務(wù)
{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user] name: 'SenderError', data: '501 mail from address must be same as authorization user', stage: 'mail' }
錯(cuò)誤原因: 發(fā)件賬號(hào)與認(rèn)證賬號(hào)不同,即用戶名和密碼不匹配。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- nodejs實(shí)現(xiàn)發(fā)送郵箱驗(yàn)證碼功能
- node.js模擬實(shí)現(xiàn)自動(dòng)發(fā)送郵件驗(yàn)證碼
- 如何利用node實(shí)現(xiàn)發(fā)送QQ郵箱驗(yàn)證碼
- Nodejs 發(fā)送Post請(qǐng)求功能(發(fā)短信驗(yàn)證碼例子)
- Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例
- Node使用Nodemailer發(fā)送郵件的方法實(shí)現(xiàn)
- nodejs模塊nodemailer基本使用-郵件發(fā)送示例(支持附件)
- Node.js使用NodeMailer發(fā)送郵件實(shí)例代碼
- node.js使用nodemailer發(fā)送郵件實(shí)例
- node 使用 nodemailer工具發(fā)送驗(yàn)證碼到郵箱
相關(guān)文章
socket.io斷線重連的幾種場(chǎng)景及處理方法
Socket.IO是一個(gè)庫(kù),可用于在瀏覽器和服務(wù)器之間進(jìn)行實(shí)時(shí),雙向和基于事件的通信,下面這篇文章主要給大家介紹了關(guān)于socket.io斷線重連的幾種場(chǎng)景及處理方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03node基于puppeteer模擬登錄抓取頁(yè)面的實(shí)現(xiàn)
本篇文章主要介紹了node基于puppeteer模擬登錄抓取頁(yè)面的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05如何用Node寫(xiě)頁(yè)面爬蟲(chóng)的工具集
這篇文章主要介紹了如何用Node寫(xiě)頁(yè)面爬蟲(chóng)的工具集,主要介紹了三種方法,分別是Puppeteer、cheerio和Auto.js,感興趣的小伙伴們可以參考一下2018-10-10利用node.js如何創(chuàng)建子進(jìn)程詳解
之前看多進(jìn)程這一章節(jié)時(shí)發(fā)現(xiàn)這塊東西挺多,寫(xiě)Process模塊的時(shí)候也有提到,今天下午午休醒來(lái)靜下心來(lái)好好的看了一遍,發(fā)現(xiàn)也不是太難理解。所以下面這篇文章主要給大家介紹了關(guān)于利用node.js如何創(chuàng)建子進(jìn)程的相關(guān)資料,需要的朋友可以參考下。2017-12-12詳解node服務(wù)器中打開(kāi)html文件的兩種方法
本篇文章主要介紹了詳解node服務(wù)器中打開(kāi)html文件的兩種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09node.js實(shí)現(xiàn)多圖片上傳實(shí)例
這篇文章主要介紹了node.js實(shí)現(xiàn)多圖片上傳實(shí)例,包括路由、控制器和視圖的源碼,重點(diǎn)在圖片上傳處理程序,需要的朋友可以參考下2014-06-06