先注册一个支持发送验证邮件的邮箱,网易的126邮箱就可以
这里我用的是阿里云的邮件推送服务
下载nodemailer插件
npm install --save nodemailer
编写发送邮件代码
//新建sendEmail.js
// sendEmail.js
// 引入插件
const nodemailer = require('nodemailer');
// 创建可重用邮件传输器
const transporter = nodemailer.createTransport({
host: "smtpdm.aliyun.com",// 阿里云的邮件地址
port: 80,// 端口
secureConnection: false, // use SSL
auth: {
"user": 'username@user.com', // 邮箱账号
"pass": '******' // 其他邮箱为授权码,在阿里云是SMTP密码,需要设置一下
}
});
module.exports.send = (mailOptions) => {
transporter.sendMail(mailOptions, function(error, info){
if(error) {
return console.log(error);
}
});
}
// 在接口方法中使用
// 引入模块
const sendEmail = require('./sendEmail')
let emailCode = 000000 //验证码为6位随机数
let email = {
title: 'Blog个人网站--邮箱验证码',
htmlBody: '<h1>Hello!</h1><p style="font-size: 18px;color:#000;">验证码为:<u style="font-size: 16px;color:#1890ff;">'+ emailCode +'</u></p><p style="font-size: 14px;color:#666;">10分钟内有效</p>>'
}
let mailOptions = {
from: 'Nickname<username@user.com>', // 发件人地址
to: username, // 收件人地址,多个收件人可以使用逗号分隔
subject: email.title, // 邮件标题
html: email.htmlBody // 邮件内容
};
sendEmail.send(mailOptions)