邮件发送服务
邮件发送服务
原理
利用QQ的SMTP的,使用Node库nodemailer 来接替qq邮箱发送服务
使用
- 下载库
pnpm i nodemailer- 导入 app.js
const nodemailer = require('nodemailer')- 配置传送服务
let mailTransport = nodemailer.createTransport({ // host: 'smtp.qq.email', service: 'qq', secure: true, //安全方式发送,建议都加上 auth: { user: 'xiconz@qq.com', // 发送人qq邮箱地址 pass: 'tezxmfuinmtldich', // SMTP的授权码 },})- 邮件发送服务
app.post('/send', function (req, res) { console.log(req.body) let options = { from: ' "测试账号" <xiconz@qq.com>', // 发送人 发送的账号 to: '<xicons@qq.com>', // 接受者 bcc: '密送', subject: '测试Node邮箱', // 邮件标题 text: 'hello 我是邮件内容', // 邮件内容 html: '<h1>hello E-Mail!</h1>', // 邮件正文 } mailTransport.sendMail(options, function (err, msg) { if ( err ) { console.log(err) res.send(err) } else { res.send({ statusCode: 200, statusText: 'Ok', body: {}, }) } })})完整示例:
'use strict'const express = require('express')const app = express()
const cors = require('cors')const nodemailer = require('nodemailer')const bodyParser = require('body-parser')
// 获取HTTP的POST正文(body)内容app.use(bodyParser.urlencoded({ extended: false }))app.use(bodyParser.json())
// 处理跨越请求app.use(cors())
// 1. 配置传送服务let mailTransport = nodemailer.createTransport({ // host: 'smtp.qq.email', service: 'qq', secure: true, //安全方式发送,建议都加上 auth: { user: 'xiconz@qq.com', // 发送人qq邮箱地址 pass: 'tezxmfuinmtldich', // SMTP的授权码 },})
// 2. 邮件发送服务app.post('/send', function (req, res) { console.log(req.body) let options = { from: ' "测试账号" <xiconz@qq.com>', // 发送人 发送的账号 to: '<xicons@qq.com>', // 接受者 bcc: '密送', subject: '测试Node邮箱', // 邮件标题 text: 'hello 我是邮件内容', // 邮件内容 html: '<h1>hello E-Mail!</h1>', // 邮件正文 } mailTransport.sendMail(options, function (err, msg) { if ( err ) { console.log(err) res.send(err) } else { res.send({ statusCode: 200, statusText: 'Ok', body: {}, }) } })})
app.listen(4002, '127.0.0.1', () => { console.log('network')})