admin管理员组文章数量:1663683
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",
secureConnection: true, // use SSL
port: 465,
secure: true, // secure:true for port 465, secure:false for port 587
auth: {
user: "XXXXXXX@qq", //其他的不要动,更改邮箱
pass: "XXXXXX", // QQ邮箱需要使用的授权码
},
});
封装发送邮件方法sendMail()
//参数:mail:需要发送的邮件地址;code:验证码
function sendMail(mail, code) {
// 设置邮件内容(谁发送什么给谁)
let mailOptions = {
from: '" XXX " <XXXXXX@qq>', // 发件人
to: mail, // 收件人
subject: "邮箱验证"
版权声明:本文标题:Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1730001362a1218832.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论