nodejs/express 实现邮箱发送验证码(超简单,一个包一个函数直接使用)

前言

之前我已经写过一个关于邮箱发送验证码的内容,使用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: '发送验证码失败,请稍后重试'})
        }
    })
});

尾言

如果觉得文章还不错的话,欢迎点赞收藏哦,有什么错误或者意见建议也可以留言,感谢~

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在下月亮有何贵干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值