node实现邮箱验证功能

先注册一个支持发送验证邮件的邮箱,网易的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": '[email protected]', // 邮箱账号
        "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: '

Hello!

验证码为:'+ emailCode +'

10分钟内有效

>'
} let mailOptions = { from: 'Nickname', // 发件人地址 to: username, // 收件人地址,多个收件人可以使用逗号分隔 subject: email.title, // 邮件标题 html: email.htmlBody // 邮件内容 }; sendEmail.send(mailOptions)

你可能感兴趣的:(node-js)