首页 > 其他 > 详细

使用nodemailer实现发送邮件验证码(超简单)

时间:2021-04-08 20:56:01      阅读:40      评论:0      收藏:0      [点我收藏+]

1.准备一个邮箱并开启SMTP服务

这里以QQ邮箱为例:

  • 打开你QQ邮箱网页,进入设置-> 点击账户
  • 下滑你会看到这个界面
    技术分享图片
  • 开启这两个SMTP服务
  • 开启后你会看到自动生成的授权码,不用特意记住,因为可以再次生成

ok,准备工作已经就绪,开始编码阶段!

2.服务端配置

2.1 下载nodemailer

npm install nodemailer -S

这是node为我们提供的第三方模块,帮助我们发送邮件
然后在要发送邮件的.js文件中引用:

var nodeMailer  = require(‘nodemailer‘);
或者
import nodeMailer from ‘nodemailer‘

2.2 配置

//创建一个传输方式
 let transporter = nodeMailer.createTransport({
        host: Email.smtp.host,//这是你使用第三方应用发送的主机名,QQ邮箱默认是 "smtp.qq.com"
        port: 587, //端口号, 
        secure: false,(官网解释:如果为true,则连接到服务器时连接将使用TLS。 如果为false(默认值),则在服务器支持STARTTLS扩展名的情况下使用TLS。 在大多数情况下,如果要连接到端口465,请将此值设置为true。对于端口587或25,请将其保留为false)
        auth: {
            user: Email.smtp.user, //发送方的QQ邮箱
            pass: Email.smtp.pass //你的smtp授权码(建议把以上配置信息放到一个文件里并且设置为只读)
        }
    });

//有了传输方式,应该设置发邮件的内容
    let mailOptions = {
        from: `‘认证邮件‘<${Email.smtp.user}>`, //邮件来自谁
        to: ko.email, //发给谁,填写邮箱
        subject: "发送的主体", 
        html: `邮件信息主体,这里面应该把你想发的信息包含在这里,比如验证码!!!` 
    };

//发送邮件,调用sendMail方法发送邮件
transporter.sendMail(mailOptions, (error, info) => { //第一个参数是你写的邮箱内容,一个对象,第二个参数是回调函数
        if (error) { //回调函数的第一个参数是错误信息,第二个参数没用过,具体可以查看官网
            return console.log("error");
        } else {
            //发送成功后你的操作
            );
        }
    });

技术分享图片
ok,这样你使用自己的QQ邮箱给其他邮箱发送信息的配置就可以啦,快去试试你新get到的知识吧!

参考资料:nodemailer官网

使用nodemailer实现发送邮件验证码(超简单)

原文:https://www.cnblogs.com/XF-eng/p/14634440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!