nodeMailer發送郵箱驗證碼
1、封裝nodemailer對象
const nodemailer = require("nodemailer");
let nodeEmail = {
config: {
host: "smtp.qq.com",
port: 587,
secure: false,
auth: {
user: "[email protected]",
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<[email protected]>",
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
})
});
});