前言
之前我已经写过一个关于邮箱发送验证码的内容,使用nodemailer实现,但是它其实内容不多,我们可以将不必自己重复手写的内容直接将它封装成一个更方便使用的依赖包,于是node-send-email
出现了。
导入依赖包
npm包地址:node-send-email。
npm i node-send-email -S
使用
两个入参:
- 一个参数对象,params,定义一些发送配置。
- 一个回调函数,result值为
Boolean
类型,判断是否发送成功。
const express = require('express')
const {sendMail} = require('node-send-email')
const app = express()
app.use(express.json())
app.post('/api/email', async (req, res) => {
const code = String(Math.floor(Math.random() * 1000000)).padEnd(6, '0') //生成随机验证码
//发送邮件需要的入参
const params = {
//邮箱类型,@qq.com就传qq,@163.com就是传163,不传的话默认为qq,
//其余类型可以在node_modules/node-send-email/lib/service.js中找到。
type:'qq',
// 发件人
name: '月亮',
// 发件箱,要与收件箱邮箱类型一致
from: 'xxxxx@qq.com',
// 发件箱smtp,需要去邮箱—设置–账户–POP3/SMTP服务—开启—获取stmp授权码
smtp: 'xxxxxxxxx',
// 发送的邮件标题
subject: '验证码',
// 收件箱,要与发件箱邮箱类型一致
to: 'xxxxx@qq.com',
// 邮件内容,HTML格式
html: `
<p>您好!</p>
<p>您的验证码是:<strong style="color:orangered;">${code}</strong></p>
<p>如果不是您本人操作,请无视此邮件</p>
`
};
await sendMail(params, (result) => {
if (result) {
res.send({code: 1, msg: '发送验证码成功'})
} else {
res.send({code: 0, msg: '发送验证码失败,请稍后重试'})
}
})
});
尾言
如果觉得文章还不错的话,欢迎点赞收藏哦,有什么错误或者意见建议也可以留言,感谢~