Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块)

Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块)

记录大创项目中,在express中使用第三方模块nodemailer完成邮箱验证功能,含客户端请求验证邮件和服务端发送验证码和判断验证码。

1. 安装和引入模块

安装

npm i nodemailer --save

引入

我们先新建一个 mail.js 文件作为包含发送邮件功能的模块。

/* mail.js文件,发送邮件模块*/
const nodemailer = require('nodemailer');  

module.exports = {
    sendMail };  //最后暴露一个sendMail方法,之后会进行这个方法的封装

在其他的路由文件中:

const express = require("express");
const mail = require("./mail"); //引入我们的自定义模块

let app = express.Router();   //路由

2. 封装自定义模块

准备:

使用 nodemailer 这个模块需要我们有一个能发送邮件的邮箱,使用QQ邮箱。此外,需要我们到邮箱中开启 POP3/SMTP 服务,开启方法如下:

登录邮箱–> 邮箱首页上方点击“设置” --> 邮箱设置中点击“账户” --> 下滑找到“开启服务” -->点击POP3/SMTP服务,之后按提示完成开启。

模块中配置邮箱:

/* mail.js文件,发送邮件模块*/
//配置邮箱
let transporter = nodemailer.createTransport({
   
  host: "smtp.qq.com",
  secureConnection: true, // use SSL
  port: 465,
  secure: true, // secure:true for port 465, secure:false for port 587
  auth: {
   
    user: "XXXXXXX@qq.com",   //其他的不要动,更改邮箱
    pass: "XXXXXX",    // QQ邮箱需要使用的授权码
  },
});

封装发送邮件方法sendMail()

//参数:mail:需要发送的邮件地址;code:验证码
function sendMail(mail, code) {
   
    
  // 设置邮件内容(谁发送什么给谁)
  let mailOptions = {
   
    from: '" XXX " <XXXXXX@qq.com>',   // 发件人
    to: mail,     // 收件人
    subject: "邮箱验证"
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值