node koa发送邮箱验证码

2023-11-08

1. 注册一个邮箱

开启POP3/SMTP/IMAP
在这里插入图片描述

下方代码内的auth.pass = '下图授权码’
在这里插入图片描述

2. nodejs koa发送邮箱验证码:

const nodemailer = require('nodemailer')

const userEmail = 'xxxx@163.com'
const transporter = nodemailer.createTransport({
  service: '163',
  secureConnection: true,
  auth: {
    user: userEmail,
    pass: 'MBZYT***OJMKO'  //这个是开启`POP3/SMTP/IMAP`的授权码
  }
})

router.get('/sendcode', async ctx => {
    const email = ctx.query.email
    // 记得检测该 email 是否已注册
    const code = Math.random().toString().slice(2,6)
    ctx.session.emailcode = code //随机验证码
	const mailOptions = {
      from: userEmail,
      cc: userEmail,
      to: email,
      subject: '验证码',
      text: '说明内容',
      html: '<h2>【小米官方】</h2>验证码:<span>${code}</span>'
    }
	try {
      await transporter.sendMail(mailOptions)
      ctx.body = {
	      code: 0,
	      message: '邮箱验证码发送成功!',
	  }
    } catch(e) {
	  ctx.body = {
	      code: -1,
	      message: '邮箱验证码发送失败!',
	  }
    }
})

// 登录时判断验证码是否一致即可
router.post('/login', async ctx => {
	const { email, emailcode } = ctx.request.body
    if (emailcode !== ctx.session.emailcode) {
      ctx.body = {
	      code: -1,
	      message: '邮箱验证码错误!',
	  }
      return
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

node koa发送邮箱验证码 的相关文章

  • 如何在yarn中指定本地注册表?

    我有一个本地 Nexus 服务器 基本上我希望在上线之前先查看一下它prefer offline yarn install prefer offline cache folder C folder yarn cache preferred
  • 通过 PHP 连接到 socket.io(nodejs)

    我需要通过 php 连接到 websocket 发送数据并立即断开连接 无需等待套接字的响应 我用了大象io http elephant io 但更新库后不起作用 请告诉我如何通过 PHP 连接到 websocket 我也遇到了这个问题 学
  • Node.js Async/Await 模块导出 [重复]

    这个问题在这里已经有答案了 我对模块创建有点陌生 想知道 module exports 并等待异步函数 例如 mongo connect 函数 完成并导出结果 在模块中使用 async await 正确定义了变量 但是当尝试通过要求模块来记
  • 在社交媒体上分享 Reactjs 链接时,react-helmet 中的元标记不显示

    我有一个在客户端运行reactjs的项目 在后端运行nodejs express 我实现了react helmet来更新索引之外的路线的标题和元标记 例如 用户查看帖子 viewpost q POSTID 然后客户做了一个GET reque
  • 全局未在 ../node_modules/socket.io-parser/is-buffer.js 中定义

    预先感谢您帮助我 我正在尝试在我的一个角度组件中连接套接字 但在浏览器的控制台中它会抛出一个错误 指出 Global 未在 Object node modules socket io parser is buffer js 中定义 这是我的
  • 为 npm install 添加本地项目依赖

    在 npm 中添加本地项目依赖项的正确语法是什么package json file 我本地有 git 项目C projects MyApp 我想得到这个项目npm install 我尝试以下 dependencies my app file
  • 限制 Axios 请求

    我正在使用 axios 向 Deezer API 发出请求 不幸的是 使用 Deezer 的 API 当您请求艺术家的专辑时 它不包括专辑曲目 因此 我正在通过请求艺术家的专辑 然后对每个专辑执行后续的 axios 请求来解决这个问题 我遇
  • 使用无服务器访问 SSM 变量

    我想用无服务器变量中的 SSM 参数 https serverless com blog serverless v1 22 0 按照文档 我运行了以下命令 aws ssm put parameter name foo value bar t
  • 在 Nodejs 中,如何停止 FOR 循环直到 MongoDB 调用返回

    我正在研究下面的代码片段 我有一个名为 stuObjList 的 JSON 对象数组 我想循环遍历数组以查找具有特定标志集的特定 JSON 对象 然后进行数据库调用以检索更多数据 当然 FOR 循环不会等待数据库调用返回并到达 j leng
  • 简单 AJAX Get 请求“待处理”

    我正在尝试实现一个简单的 AJAX GET 请求 该请求告诉服务器删除数据库中的文档 虽然我从服务器得到文档已删除的确认 但 Chrome 检查器显示该请求处于 待处理 状态 最终导致服务器错误 我做错了什么 HTML div class
  • node.js通过aws-sdk模块重命名s3对象

    是否可以通过重命名 s3 上的对象aws sdk https www npmjs com package aws sdk 我找不到解决方法 也许有一个临时解决方案 我想我会回答 因为没有人回答过 这个应该有用 create a new s3
  • 未捕获的 ReferenceError:未定义角度 - Mean.IO

    我已遵循安装步骤 http mean io docsmean io 但是当我浏览 localhost 3000 时 我得到一个空白页面 当我打开控制台时 我得到一个指向相同错误的文件列表 未捕获的引用错误 角度未定义 我的问题是类似的to
  • Node.js 上的 starttls > 0.4.0

    我遇到了这个线程Node js HTTPS 安全错误 https stackoverflow com questions 5136353 node js https secure error其中提到 tls 模块是现在在节点上执行 TLS
  • 如何使用 Chai Http 发布对象数组

    我正在尝试发布一个对象数组ChaiHttp https github com chaijs chai http像这样 agent post route to api send locations lat lat1 lon lon1 lat
  • 当尝试将 formData 发送到 Express js 时,服务器无法识别 multipart/form-data

    我正在尝试将表单数据上传到快递服务器 在我的 Express js 服务器上 我有以下内容 router post uploads id function req res res send req body const title req
  • 一次更新猫鼬中的多个文档

    我有一个用户文档数组 每个用户都有关注者属性 它是一个数字 我只想将此属性增加 1 然后立即更新数据库中的所有这些用户文档 更多细节 在请求中 我有一组用户 id 我使用这些 id 进行查询以获取一组用户文档 const users awa
  • Docker - SequelizeConnectionRefusedError:连接 ECONNREFUSED 127.0.0.1:3306

    我正在尝试使用 Docker 容器启动并运行我的 Nodejs 应用程序 我不知道可能出了什么问题 当我使用控制台调试凭据时 凭据似乎已正确传递 另外启动sequel pro并使用相同的用户名和密码直接连接似乎也可行 当节点在容器中启动时
  • Phantom-node模块无法加载外部资源

    我正在开发一个nodejs服务器 它将发布的html呈现为pdf png或jpg https github com svenhornberg pagetox https github com svenhornberg pagetox ser
  • 从节点服务器访问 Google Calendar API

    由于某种原因 我很难访问 Google 日历 我希望能够在 Node js 服务器的日历中添加和删除事件 我从文件中发现了非常矛盾的信息 我跟着 https developers google com identity protocols
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch

随机推荐

  • 开关电源环路稳定性分析(11)——观察法找零极点

    大家好 这里是大话硬件 这篇文章主要是分享如何用观察法直接写出补偿网络中的零极点的表达式 在前面的文章中 我们分别整理了OTA和OPA型的补偿网络 当时有下面的结论 针对某个固定的补偿网络 我们可以用数学的方法推导补偿网络的零极点 比如下面
  • ${ }的用法

    的用法 假设我们定义了一个变量为 file dir1 dir2 dir3 my file txt 我们可以用 分別替换获得不同的值 file 拿掉第一条 及其左边的字串 dir1 dir2 dir3 my file txt file 拿掉最
  • SetCallAsFunctionHandler 相当于lua __call

    首先到google开发者网站上下载v8源码 并按照说明进行编译 在v8中 编译和执行的js代码需要依付于一个空间 上下文 上下文由Context New创建 static Persistent
  • 微服务:什么是微服务?一篇文章让你彻底搞明白

    文章目录 前言 一 微服务介绍 1 什么是微服务 2 微服务由来 3 为什么需要微服务 3 1 早期的单体架构带来的问题 1 复杂性逐渐变高 2 技术债务逐渐上升 3 部署速度逐渐变慢 4 阻碍技术创新 5 无法按需伸缩 3 2 微服务与单
  • Testing-《软件测试》读书笔记(四)

    静态测试是指测试非运行部分 检查和审查 白盒测试是指访问代码 能够查看和审查 静态白盒测试实在不执行的条件下有条理地仔细审查软件设计 体系结构和代码 从而找出软件缺陷的过程 有时也成为结构分析 静态白盒测试的原因 首先是尽早发现软件缺陷 另
  • 机器学习框架/库

    本文汇编了一些机器学习领域的框架 库以及软件 按编程语言排序 C 计算机视觉 CCV 基于C语言 提供缓存 核心的机器视觉库 新颖的机器视觉库 OpenCV 它提供C C Python Java 以及 MATLAB接口 并支持Windows
  • Class 07 - 功能包的安装和 tidyverse 介绍

    Class 07 功能包的安装和 tidyverse 介绍 tidyverse 简介 功能包 package 的安装 tidyverse 的安装 功能包 package 的加载 tidyverse 的加载 功能包 package 的更新 t
  • Mac系统下搭建使用eclipse搭建web开发环境ATS阻止http发布的问题

    应课程要求 今天使用Mac搭建eclipse Tomcat mysql开发环境 在进行简单的jsp页面测试时出现如下情况 原因是苹果收紧对普通http的访问限制 需要关闭App Transport Security ATS 方法是在Info
  • 通讯协议025——全网独有的OPC AE知识四之接口(九)

    本文简单介绍OPC AE规范的OPCEventSubscription对象的相关知识 更多通信资源请登录网信智汇 wangxinzhihui com OPC AE规范描述了OPC事件服务器应该实现的对象和接口 实现在多个OPC客户端间共享事
  • 数字化时代-13:入住CSDN一个月进展报告

    摘要 入住CSDN一个月进展报告 1 数据汇总 积分 0 461 等级 1级别 3级 排名 66万 20万 访问量 0 8950 2 每周文章变化 3 每周访问重量变化 4 每周粉丝总计变 5 总积分变化
  • k8s发布系统的实现

    综述 本篇文章所介绍的内容 已经有完整的实现 可以参考这里 在微服务 DevOps和云平台流行的当下 使用一个高效的持续集成工具也是一个非常重要的事情 虽然市面上目前已经存在了比较成熟的自动化构建工具 比如jekines 还有一些商业公司推
  • seaborn库学习笔记

    导入seaborn库 因此一般直接导入相关库 import numpy as np import seaborn as sns import matplotlib pyplot as plt import pandas as np 整体布局
  • 密码学原语如何应用?解析密码学特有的数据编解码|第10论

    隐私保护方案的工程实现 如何关联到学术论文中天书一般的公式符号 密码学工程中 有哪些特有的数据编解码方式 存在哪些认知误区和注意事项 需要克服哪些限制和挑战 作为支撑隐私保护方案的核心技术 如何运用数据编解码 将密码学论文中抽象的数学符号和
  • 30 秒使用 Sealos 搭建个人密码管理器 Vaultwarden

    我与 LastPass 的曲折恋情 超过 8 年网龄的我 注册过很多网站帐号 每个网站的密码我都用不同的复杂密码 一开始我全靠脑力记忆这些密码 后来渐渐觉得记起来很困难 就记录在笔记本上 但是随着时间推移 我发现这种方法既不安全也不可靠 有
  • VS2010彻底卸载

    依照微软网站http msdn microsoft com zh tw library e2h7fzkw aspx 完整移除方法有两种 方法一 工具卸载 下载Microsoft Visual Studio 2010 Uninstall Ut
  • 机器学习(基于python数学基础)——概率统计篇(一)全概率与贝叶斯公式

    注 学习本篇前最好一定的数学基础 即学习过概率论与数理统计 这个问题是求全概率的 在这里我们给它加上一问求 取得正品且是甲厂生产的概率 import numpy as np H np array 1 2 3 10 2 10 完备事件组概率
  • 增强学习/强化学习 综述

    创建于 20210512 修改于 20210512 文章目录 1 增强学习概念 2 1 增强学习定义 2 2 两大特点 2 简书 阿阿阿阿毛 https www jianshu com u a18653721b40 3 知乎 叶强 http
  • Java程序员不得不会的面试题(含答案)

    每个技术人都有个大厂梦 我觉得这很正常 并不是饭后的谈资而是每个技术人的追求 像阿里 腾讯 美团 字节跳动 京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司 小公司 如果说能够在这样的公司锻炼几年 相信对自己能力的提升还是非常大的
  • 计算机文件路径的表示

    文件路径作为计算机基础内容 在很多时候都扮演着十分重要的角色 例如控制台命令 资源文件的存放等等 以下将介绍计算机文件路径的表示方法以及一些常见的使用场景 文件路径的表示分为两种方式 绝对路径表示法和相对路径表示法 绝对路径与相对路径的区别
  • node koa发送邮箱验证码

    1 注册一个邮箱 开启POP3 SMTP IMAP 下方代码内的auth pass 下图授权码 2 nodejs koa发送邮箱验证码 const nodemailer require nodemailer const userEmail