200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 使用nodemailer邮件发送验证码

使用nodemailer邮件发送验证码

时间:2023-07-03 00:50:24

相关推荐

使用nodemailer邮件发送验证码

记录一下实践nodemailer发送验证码的过程;

首先参考官方文档,了解nodemailer

这里我参考的是这篇文章。内容很详细,就不怎么具体

核心代码:

/*** email 邮件模块**/const nodemailer = require('nodemailer');const smtpTransport = require('nodemailer-smtp-transport');const config = require('../config')const transporter = nodemailer.createTransport(smtpTransport({host: '',//代理商,这里写的qq的secure: true,port: 465,auth: {user: config.email.account,//授权邮箱pass: config.email.password 这里密码不是qq密码,是你设置的smtp授权码}}));let clientIsValid = false;const verifyClient = () => {transporter.verify((error, success) => {if (error) {clientIsValid = false;console.warn('邮件客户端初始化连接失败,将在一小时后重试');setTimeout(verifyClient, 1000 * 60 * 60);} else {clientIsValid = true;console.log('邮件客户端初始化连接成功,随时可发送邮件');}});};verifyClient();const sendMail = mailOptions => {if (!clientIsValid) {console.warn('由于未初始化成功,邮件客户端发送被拒绝');return false;}mailOptions.from = '"ShineTomorrow" <youremail@>'transporter.sendMail(mailOptions, (error, info) => {if (error) return console.warn('邮件发送失败', error);console.log('邮件发送成功', info.messageId, info.response);});};exports.sendMail = sendMail;

介绍如何使用的了,记录一下遇到的问题:

1.首先应该给授权邮箱开通SMTP服务,百度如何开通。这里有个qq开通的教程;

2.将运营商提供的授权码保存下来;

3.要注意mailOptions中的email要与授权邮箱一致,否则会报501error。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。