node服务端如何实现发送邮件

node服务端如何实现发送邮件

封装工具类

const nodemailer = require('nodemailer')

var path=require('path');
var mailTransport = nodemailer.createTransport({
    // host : 'smtp.exmail.qq.com',
    service:'qq',
    secureConnection: true, // 使用SSL方式(安全方式,防止被窃取信息)
    secure: true,
    port:465,
    auth : {
        user : '1092283755@qq.com',
        pass : 'owegztbndnfmgcii'
    },
});


function mail(tos,str) {
    return new Promise((resolve,reject)=>{
        mailTransport.sendMail({
            from    : '1092283755@qq.com',
            to      : tos,
            subject : '三笠博客验证',//邮件主题
            html    : '<h1>你好,这是一封来自三笠博客的邮件!验证码为' + str + '</h1><p><img src="cid:00000001"/></p>',
            attachments :[
                    {
                        filename: 'emial.jpg',            // 改成你的附件名
                        path: path.join(__dirname,'../')+'/public/images/email.jpg',  // 改成你的附件路径
                        cid : '00000001'               // cid可被邮件使用
                    }
            ]
        }, function(err, res) {
            if (err){
                console.log('err')
                err = '发送错误'
                resolve(err)
            }else{
                console.log('success')
                reject(res)
                global.emailcode = str
            }
        });
    })
}
async function sendMail(tos){
        var a = [1,2,3,4,5,6,7,8,9,0]
        var str = ''
        var result = ''
        for (let index = 0; index < 6; index++) {
            const num = Math.floor((Math.random()*10))
            str += a[num]
        }
        await mail(tos,str).then(res=>{
            result = res
        }).catch(err=>{
            result = err
        })
        return result;
}
module.exports = sendMail

使用工具类

const sendMail = require("../utils/email");
router.get("/email", (req, res) => {
  let email = req.param("email");
  if (email) {
    let result = sendMail(email).then((resopnse) => {
      res.send(resopnse);
    });
  } else {
    res.send("请输入邮箱");
  }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

上天注定的姻缘最大嘛!

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

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

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

打赏作者

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

抵扣说明:

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

余额充值