使用Node.js实现邮箱验证

首先要开启邮箱的 POP3/SMTP 服务

  1. QQ邮箱:登录QQ邮箱,点击设置
  2. 点击账户
  3. 向下拉,看到POPS/SMTP服务开启
  4. 然后按照提示慢慢弄

借用node中的nodemailer实现邮箱验证

npm i nodemailer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const nodeemailer = require('nodemailer');
const transporter = nodeemailer.createTransport({
host: "smtp.qq.com", // QQ邮箱的SMTP地址
port: 465, // 每个邮箱的端口号可能是一样的,一般都使用
auth: {
"user": 'xxxxxxxxxxxx@qq.com', // 你自己的邮箱的邮箱地址
"pass": '****************' // 上面我们提到的授权码
}
});
function sendMail(mail,code){
// 邮件信息
let mailObj = {
form:'"今天天气真不错"<1878856344@qq.com>',
to:mail,
subject:'1902',
text:`您的验证码是${code},有效时间五分钟`
}
// 发送验证码
transporter.sendMail(mailObj,(err,data)=>{
console.log(err);
console.log(data);
})
}

module.exports = {
sendMail
}

在服务器的js中写

1
2
3
4
5
6
app.post('/getMailCode',(req,res)=>{
let {mail} = req.body;
let code = parseInt(Math.random() * 10000); // 随机验证码
Mail.send(mail,code);
// res.send(code);
})
文章作者: Mr. Fortunate
文章链接: https://www.fortunate.cool/2022/06/20/%E4%BD%BF%E7%94%A8Node.js%E5%AE%9E%E7%8E%B0%E9%82%AE%E7%AE%B1%E9%AA%8C%E8%AF%81/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 fortunate

评论