记录下邮箱验证码功能实现
1、先创建个邮箱,已经有就直接拿来用,我这里用的是163网易免费邮箱
然后登陆邮箱账号去配置SMTP服务。其他邮箱也差不多。
这里有个配置,点开设置 =>POP3/SMTP/IMAP
这里就有个POP3/SMTP服务,给他开启了,然后他就会给一个授权码,记得复制下来后面后台配置要用到的,他一次只给一个校验码的,下次再点就不一样了。 这样就能在我们后台去调用了。
2、接下来就是邮箱POP3和SMTP服务器的设置了
网易163邮箱
POP3:pop.163.com
SMTP:smtp.163.com
SMTP端口号:25
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
QQ邮箱
POP3:pop.qq.com
SMTP:smtp.qq.com
SMTP端口号:25
其他的邮箱就不写了,我找到一个大哥给的配置信息,其他邮箱可以自己去找
链接是:常用邮箱smtp服务配置
3、最后就是node服务器的配置了,java的我就不知道怎么配了,学疏才浅。知道的可以私信告诉我哈哈哈哈哈。
这里node还需要引入一个插件 nodemailer,自己去npm吧嘿嘿
const nodemailer = require('nodemailer');
接下来就配置一个随机的验证码
简单啦,random函数搞一下,向上取整一下OK了
var code=Math.floor(Math.random()*900000) +100000
然后去配email
const transporter = nodemailer.createTransport({
host: "smtp.163.com", // 网易的邮件地址或者按前面配置一下自己用的邮箱
port: 465, // 端口
secureConnection: false, // 用不用 SSL
auth: {
"user": 'w956792115@163.com', // 邮箱账号
"pass": 'WAWVDSUPFPA***** ' // 你自己邮箱的授权码,就之前记录下的那个
}
});
最后了,直接贴下来
let options={
from: 'w956792115@163.com', // 发件人地址
to: `w956792115@163.com,${email}`, // 收件人地址,多个收件人可以使用逗号分隔
//在这里,如果只留存收件人的邮箱,很可能在发送很多个以后就被系统自动识别为骚扰邮件拦截了,所以这里加上自己的发件人的邮箱就OK了。
subject: '友摩平台在线--验证码', // 邮件的标题啦
html: `<h1>Hello!</h1><p style="font-size: 18px;color:#000;">友摩交流资讯平台的验证码为:<u style="font-size: 16px;color:#1890ff;"> ${code} </u></p><p style="font-size: 14px;color:#666;">10分钟内有效</p>` // 邮件的内容
}
//配置服务
transporter.sendMail(options,function(err,msg){
if(err){
console.log(err)
}else{
// console.log(msg)
// console.log(code)
//这里就可以去配置你邮件发送完毕后的操作
transporter.close() //用完,记得关闭这个接口
}
})
按照这个顺序下来就OK了。
这里还要贴一个B站大哥的视频,给我一个菜鸡很大帮助,看了就懂,懂了就会
nodejs实现邮箱发送