使用Node.js還可以發(fā)郵件?
前言
今天,我們給大家開發(fā)一個小效果。篇幅比較短,主要給大家展示效果。
實(shí)戰(zhàn)
1.首先我們初始化一個Node項(xiàng)目
- npm init -y
 
2.創(chuàng)建一個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" <xxx@qq.com>', // sender
 - to: 'xxx@163.com', // receivers
 - subject: 'Hello', // Subject line
 - // 發(fā)送text或者h(yuǎn)tml格式
 - // text: 'Hello world?', // plain text body
 - html: '<b>Hello world?</b>' // 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是一個簡單易用的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.啟動項(xiàng)目
- node app.js
 
優(yōu)化
可以使用node-schedule來創(chuàng)建定時任務(wù),單位時間段可以執(zhí)行代碼發(fā)送郵件。
- npm install node-schedule
 
結(jié)語
謝謝閱讀,希望沒有浪費(fèi)你的時間。
















 
 
 




 
 
 
 