這篇文章給大家介紹Node.js中如何發(fā)送郵件,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、新干網(wǎng)絡(luò)推廣、微信小程序、新干網(wǎng)絡(luò)營銷、新干企業(yè)策劃、新干品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供新干建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
1.首先我們初始化一個(gè)Node項(xiàng)目
npm init -y
2.創(chuàng)建一個(gè)app.js文件
'use strict'; const nodemailer = require('nodemailer'); let transporter = nodemailer.createTransport({ // host: 'smtp.ethereal.email', service: 'qq', // 使用了內(nèi)置傳輸發(fā)送郵件 查看支持列表:https://nodemailer.com/smtp/well-known/ port: 465, // SMTP 端口 secureConnection: true, // 使用了 SSL auth: { user: 'xxx@qq.com', // 這里以QQ郵箱為例 pass: 'kzudmlwerknibejc', // 設(shè)置的smtp授權(quán)碼 } }); let mailOptions = { from: '"xxx"', // sender to: 'xxx@163.com', // receivers subject: 'Hello', // Subject line // 發(fā)送text或者h(yuǎn)tml格式 // text: 'Hello world?', // plain text body html: 'Hello world?' // html body }; // send mail with defined transport object transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.log(error); } console.log('Message sent: %s', info.messageId); // Message sent: <04ec7731-cc68-1ef6-303c-61b0f796b78f@qq.com> });
Nodemailer是一個(gè)簡(jiǎn)單易用的Node.js郵件發(fā)送組件。
官網(wǎng)地址:https://nodemailer.com
GitHub地址:https://github.com/nodemailer/nodemailer
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)證
3.獲取smtp授權(quán)碼
登錄QQ郵箱,點(diǎn)擊郵箱設(shè)置。
找到如下圖紅框所示,開啟IMAP/SMTP服務(wù)后,就可以隨機(jī)獲取授權(quán)碼了。
4.啟動(dòng)項(xiàng)目
node app.js
優(yōu)化
可以使用node-schedule來創(chuàng)建定時(shí)任務(wù),單位時(shí)間段可以執(zhí)行代碼發(fā)送郵件。
npm install node-schedule
關(guān)于Node.js中如何發(fā)送郵件就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。