前言
最近项目有点忙,但是还是想在一些零碎的时间中提升自己。于是找了一个自己经常接触,但是没有实现过的功能邮箱验证登录
一、如何进行邮箱验证登录
这里我们需要使用的node 的一个包nodemailer
这个包可以帮助我们完成邮箱的发送。
- 安装
npm install --save nodemailer
- 代码
创建一个sendEmail.js
文件,代码如下。
const nodeemailer = require('nodemailer');
const transporter = nodeemailer.createTransport({
host: "smtp.qq.com", // QQ邮箱的SMTP地址
// host: "smtp.163.com", // 网易邮箱的SMTP地址
// host: "smtpdm.aliyun.com",// 阿里云的邮件地址
port: 465, // 每个邮箱的端口号可能是一样的,一般都使用465,但有些公司使用的就不是465
secureConnection: false, // 是否使用 SSL
auth: {
"user": '14*****7@qq.com', // 你自己的邮箱的邮箱地址
"pass": '***********' // 授权码(不是邮箱密码)
}
});
module.exports.send = (mailOptions) => {
transporter.sendMail(mailOptions, function(error, info){
if(error) {
return console.log(error);
}
console.log('success')
});
}
创建app.js
,代码如下。
const sendEmail = require('./sendEmail.js');
let emailCode = (function captchaNumber(){
let num = [];
for (let i = 0; i < 6; i++) {
num[i] = parseInt(Math.random()*10);
}
return num.join('');
})()
//随机生成6位数字
let email = {
title: '某某的个人博客网站---邮箱验证码',
body:` <h1>您好:</h1> <p style="font-size: 18px;color:#000;"> 您的验证码为: <span style="font-size: 16px;color:#f00;"> ${
emailCode }, </span> 您当前正在某某的个人博客网站注册账号,验证码告知他人将会导致数据信息被盗,请勿泄露 </p> <p style="font-size: 1.5rem;color:#999;">60秒内有效</p> `
}
let emailCotent = {
from: '14*******3@qq.com', // 发件人地址
to: '*********@163.com', // 收件人地址,多个收件人可以使用逗号分隔
subject: email.title, // 邮件标题
html: email.body // 邮件内容
};
sendEmail.send(emailCotent)
二、运行
在终端中打开,输入node app.js
即可运行。你可以去你的收件邮箱中查看。
总结
这里我们把代码存在了gitee上,大家如果需要的话直接拉取,依赖安装完毕后,使用运行即可。
克隆地址:https://gitee.com/baske/node_send_email.git