Node使用Nodemailer發(fā)送郵件的方法實(shí)現(xiàn)
電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應(yīng)用最廣的服務(wù)。通過(guò)網(wǎng)絡(luò)的電子郵件系統(tǒng),用戶(hù)可以以非常低廉的價(jià)格(不管發(fā)送到哪里,都只需負(fù)擔(dān)網(wǎng)費(fèi))、非??焖俚姆绞剑◣酌腌娭畠?nèi)可以發(fā)送到世界上任何指定的目的地),與世界上任何一個(gè)角落的網(wǎng)絡(luò)用戶(hù)聯(lián)系。
在很多項(xiàng)目中,我們都會(huì)遇到郵件注冊(cè),郵件反饋等需求。在node中收發(fā)電子郵件也非常簡(jiǎn)單,因?yàn)閺?qiáng)大的社區(qū)有各種各樣的包可以供我么直接使用。Nodemailer包就可以幫助我們快速實(shí)現(xiàn)發(fā)送郵件的功能。
開(kāi)始
這里使用的是qq郵箱,因?yàn)閝q郵箱的權(quán)限比較好設(shè)置一些。
安裝模塊
cnpm i nodemailer -S
創(chuàng)建-個(gè)SMTP客戶(hù)端配置
//引入模塊 nodemailer const nodemailer = require('nodemailer') // 創(chuàng)建一個(gè)SMTP客戶(hù)端配置 const config = { service: "QQ", auth: { // 發(fā)件人郵箱賬號(hào) user: 'xxxxxx@qq.com', //發(fā)件人郵箱的授權(quán)碼 這里可以通過(guò)qq郵箱獲取 并且不唯一 pass: 'xxxxxxxxxxx' } }
創(chuàng)建一個(gè)SMTP客戶(hù)端配置對(duì)象
const transporter = nodemailer.createTransport(config)
創(chuàng)建一個(gè)收件人對(duì)象
// 驗(yàn)證碼隨機(jī)數(shù) let code = Math.random().toString().substr(2, 4) const mail = { // 發(fā)件人 郵箱 '昵稱(chēng)<發(fā)件人郵箱>' from: `"web"<xxxx@qq.com>`, // 主題 subject: '激活驗(yàn)證碼', // 收件人 的郵箱 可以是其他郵箱 不一定是qq郵箱 to: '', //這里可以添加html標(biāo)簽 html: `<b>您的激活驗(yàn)證碼為:$[code], 請(qǐng)24小時(shí)內(nèi)有效,請(qǐng)謹(jǐn)慎保管。</b>` }
發(fā)送郵件 調(diào)用transporter.sendMail(mail, callback)
transporter.sendMail(mail, function(error, info) { if (error) { return console.log(error); } transporter.close() console.log('mail sent:', info.response) })
qq權(quán)限的設(shè)置
最后就可以愉快的可以發(fā)送郵件啦
完整代碼演示
//引入模塊 nodemailer const nodemailer = require('nodemailer') // 驗(yàn)證碼隨機(jī)書(shū) let code = Math.random().toString().substr(2, 4) // 創(chuàng)建一個(gè)SMTP客戶(hù)端配置 const config = { service: "QQ", auth: { // 發(fā)件人郵箱賬號(hào) user: 'xxxxxxxxx@qq.com', //發(fā)件人郵箱的授權(quán)碼 這里可以通過(guò)qq郵箱獲取 并且不唯一 pass: 'xxxxxxxxxxxxxxxxxxxxxx' //授權(quán)碼生成之后,要等一會(huì)才能使用,否則驗(yàn)證的時(shí)候會(huì)報(bào)錯(cuò),但是不要慌張哦 } } //創(chuàng)建一個(gè)SMTP客戶(hù)端配置對(duì)象 const transporter = nodemailer.createTransport(config) //創(chuàng)建一個(gè)收件人對(duì)象 const mail = { // 發(fā)件人 郵箱 '昵稱(chēng)<發(fā)件人郵箱>' from: `"web"<xxxxxxxxxx@qq.com>`, // 主題 subject: '激活驗(yàn)證碼', // 收件人 的郵箱 可以是其他郵箱 不一定是qq郵箱 to: 'xxxxxxx@163.com', //這里可以添加html標(biāo)簽 html: `<b>您的激活驗(yàn)證碼為:$[code], 請(qǐng)24小時(shí)內(nèi)有效,請(qǐng)謹(jǐn)慎保管。</b>` } // 發(fā)送郵件 調(diào)用transporter.sendMail(mail, callback) transporter.sendMail(mail, function(error, info) { if (error) { return console.log(error); } transporter.close() console.log('mail sent:', info.response) })
到此這篇關(guān)于Node使用Nodemailer發(fā)送郵件的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nodemailer發(fā)送郵件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 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ā)送示例
- nodejs模塊nodemailer基本使用-郵件發(fā)送示例(支持附件)
- Node.js使用NodeMailer發(fā)送郵件實(shí)例代碼
- 基于Node.js實(shí)現(xiàn)nodemailer郵件發(fā)送
- node.js使用nodemailer發(fā)送郵件實(shí)例
- node 使用 nodemailer工具發(fā)送驗(yàn)證碼到郵箱
相關(guān)文章
基于Express+multer實(shí)現(xiàn)文件上傳功能
Multer是Node.js中的一個(gè)第三方包,或者說(shuō)是第三方中間件,主要用于是實(shí)現(xiàn)文件上傳的功能,本文小編講給大家詳細(xì)介紹一下基于Express+multer來(lái)實(shí)現(xiàn)文件上傳功能,文章通過(guò)代碼示例和圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11使用 NodeJS+Express 開(kāi)發(fā)服務(wù)端的簡(jiǎn)單介紹
這篇文章主要介紹了使用 NodeJS+Express 開(kāi)發(fā)服務(wù)端的簡(jiǎn)單介紹,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04node.js實(shí)現(xiàn)多圖片上傳實(shí)例
這篇文章主要介紹了node.js實(shí)現(xiàn)多圖片上傳實(shí)例,包括路由、控制器和視圖的源碼,重點(diǎn)在圖片上傳處理程序,需要的朋友可以參考下2014-06-06Node.js中DNS模塊學(xué)習(xí)總結(jié)
本篇文章給大家詳細(xì)介紹了Node.js中DNS模塊的相關(guān)知識(shí)點(diǎn),以及相關(guān)的實(shí)例代碼做了分享,有興趣的朋友參考下。2018-02-02Node.js Buffer模塊功能及常用方法實(shí)例分析
這篇文章主要介紹了Node.js Buffer模塊功能及常用方法,結(jié)合實(shí)例形式分析了Buffer模塊的各種常用函數(shù)及相關(guān)使用技巧,需要的朋友可以參考下2019-01-01connect中間件session、cookie的使用方法分享
今天大象哥用了下connect的session和cookie,感覺(jué)還挺好用的,分享一下(里面坑挺多的,文檔寫(xiě)的太模糊了,費(fèi)了哥不少時(shí)間)。2014-06-06node和vue實(shí)現(xiàn)商城用戶(hù)地址模塊
這篇文章主要為大家詳細(xì)介紹了node和vue實(shí)現(xiàn)商城用戶(hù)地址模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12