nodeMailer发送邮箱验证码
1、封装nodemailer对象
const nodemailer = require("nodemailer");
let nodeEmail = {
config: {
host: "smtp.qq.com",
port: 587,
secure: false,
auth: {
user: "1490814083@qq.com",
pass: "vctsdrzqfdhcjgif"
}
},
get transporter() {
return nodemailer.createTransport(this.config)
},
get verifyCode() {
return Math.random().toString().substring(2, 6);
}
}
2、写一个路由接口来使用它
let express = require('express');
let router = express.Router();
router.get('/verify', (req, res, next) => {
let email = req.query.email;
let verifyCode = nodeEmail.verifyCode;
req.session.email = email;
req.session.verifyCode = verifyCode;
let options = {
from: "bidding-system<1490814083@qq.com>",
to: email,
subject: "邮箱验证码",
text: `验证码:${verifyCode}`,
};
nodeEmail.transporter.sendMail(options).then(result => {
res.send({
msg: "验证码发送成功",
status: 0,
verifyCode: verifyCode
})
}).catch(err => {
console.log(`验证码发送失败${err}`);
res.send({
msg: "验证码发送失败",
status: -1
})
});
});