Node使用Nodemailer發(fā)送郵件的方法實(shí)現(xiàn)
電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應(yīng)用最廣的服務(wù)。通過網(wǎng)絡(luò)的電子郵件系統(tǒng),用戶可以以非常低廉的價(jià)格(不管發(fā)送到哪里,都只需負(fù)擔(dān)網(wǎng)費(fèi))、非??焖俚姆绞剑◣酌腌娭畠?nèi)可以發(fā)送到世界上任何指定的目的地),與世界上任何一個(gè)角落的網(wǎng)絡(luò)用戶聯(lián)系。
在很多項(xiàng)目中,我們都會(huì)遇到郵件注冊(cè),郵件反饋等需求。在node中收發(fā)電子郵件也非常簡單,因?yàn)閺?qiáng)大的社區(qū)有各種各樣的包可以供我么直接使用。Nodemailer包就可以幫助我們快速實(shí)現(xiàn)發(fā)送郵件的功能。
開始
這里使用的是qq郵箱,因?yàn)閝q郵箱的權(quán)限比較好設(shè)置一些。
安裝模塊
cnpm i nodemailer -S
創(chuàng)建-個(gè)SMTP客戶端配置
//引入模塊 nodemailer
const nodemailer = require('nodemailer')
// 創(chuàng)建一個(gè)SMTP客戶端配置
const config = {
service: "QQ",
auth: {
// 發(fā)件人郵箱賬號(hào)
user: 'xxxxxx@qq.com',
//發(fā)件人郵箱的授權(quán)碼 這里可以通過qq郵箱獲取 并且不唯一
pass: 'xxxxxxxxxxx'
}
}
創(chuàng)建一個(gè)SMTP客戶端配置對(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ā)件人 郵箱 '昵稱<發(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ī)書
let code = Math.random().toString().substr(2, 4)
// 創(chuàng)建一個(gè)SMTP客戶端配置
const config = {
service: "QQ",
auth: {
// 發(fā)件人郵箱賬號(hào)
user: 'xxxxxxxxx@qq.com',
//發(fā)件人郵箱的授權(quán)碼 這里可以通過qq郵箱獲取 并且不唯一
pass: 'xxxxxxxxxxxxxxxxxxxxxx' //授權(quán)碼生成之后,要等一會(huì)才能使用,否則驗(yàn)證的時(shí)候會(huì)報(bào)錯(cuò),但是不要慌張哦
}
}
//創(chuàng)建一個(gè)SMTP客戶端配置對(duì)象
const transporter = nodemailer.createTransport(config)
//創(chuàng)建一個(gè)收件人對(duì)象
const mail = {
// 發(fā)件人 郵箱 '昵稱<發(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)文章
Nodejs如何使用http標(biāo)準(zhǔn)庫異步加載https請(qǐng)求json數(shù)據(jù)
這篇文章主要介紹了Nodejs如何使用http標(biāo)準(zhǔn)庫異步加載https請(qǐng)求json數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
基于node.js的fs核心模塊讀寫文件操作(實(shí)例講解)
下面小編就為大家?guī)硪黄趎ode.js的fs核心模塊讀寫文件操作(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就想給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09

