node.js如何发送验证码到邮箱?
在平时开发中,我们经常需要获取验证码来验证身份,有很多方式可以获取,大多数都需要收费,这里推荐一个免费获取验证码发送的方式。
使用163免费邮箱获取授权码
打开https://mail.163.com/登录你的163邮箱,然后点击上方的设置
![](/assets/blank.gif)
开通POP3/SMTP/IMAP服务
![](/assets/blank.gif)
![](/assets/blank.gif)
使用注册时的手机号发送短信
![](/assets/blank.gif)
发送后点击我已发送,就可以得到授权码了
![](/assets/blank.gif)
注意:一定要在这个页面保存好这个授权码,后面查不到的!!!
下载nodemailer
//下载
npm i nodemailer -S
//引入
const nodemailer = require("nodemailer");
//配置信息
const transporter = nodemailer.createTransport({service: '163', // 邮箱secure: true, // 安全的发送模式auth:{user: 'XXXX@163.com', // 发件人邮箱(第一步的邮箱)pass: 'XXXXXXXXXXXXXXXXXX' // 授权码 (第一步获取到的授权码)}
});
// 发送邮件到指定邮箱
transporter.sendMail({from:"XXX<XXXX@163.com>", //前面可以写发件人名字后面的邮箱配置为上方的邮箱地址subject: '验证码', //邮件标题to:`${req.body.email}`, //配置目标邮箱,可以从前端传来的数据中获取text:`您的验证码是:${verifyCode} , 有效期一分钟 , 如非本人操作 , 请忽略`, //邮件内容一般是发送验证码
},(err,data)=>{if (err) {console.log(err);}else{console.log(data);}
})
使用string-random生成随机字符串
//下载
npm i string-random -S
//引入
const random = require('string-random');
//使用
random([length],[options]) //length代表字符串长度 options配置项
console.log(random()); //jcBvYzfa
console.log(random(16)); //d9oq0A3vooaDod8X
console.log(random(16, {numbers: false})); //AgfPTKheCgMvwNqX
console.log(random(16, {letters: false})); //0889014544916637
console.log(random(16, {letters: 'ABCDEFG'})); //055B1627E43GA7D8
console.log(random(16, {specials: true})); //,o=8l{iay>AOegW[
console.log(random(16, {specials: true, numbers: false, letters: false})); //)-[+$^%+$|)-{(]%
console.log(random(16, {specials: ':;', numbers: false, letters: false})); //:;:;;;:;;;;;;;::
console.log(random(16, true)); //SMm,EjETKMldIM/J
最后附上完整代码
const nodemailer = require("nodemailer"); //引入邮件模块
const random = require('string-random'); //引入随机字符串模块const transporter = nodemailer.createTransport({service: '163', // 邮箱secure: true, // 安全的发送模式auth:{user: 'XXXX@163.com', // 发件人邮箱pass: 'XXXXXXXXXXX' // 授权码}
});
let verifyCode = random(6,{letters:false})
transporter.sendMail({// 发件人邮箱from: 'XXX<XXXXXXXXX@163.com>',// 邮件标题subject: '验证码',// 目标邮箱to: `${req.body.email}`,// 邮件内容text: `您的验证码是:${verifyCode} , 有效期一分钟 , 如非本人操作 , 请忽略`},(err, data) => {if (err) {console.error(err);}else{console.log(data);}}
);
node.js如何发送验证码到邮箱?相关推荐
- koa发送验证码至邮箱,QQ邮箱发送
提示:koa发送验证码至邮箱,QQ邮箱发送 文章目录 前言 一.依赖和邮箱设置 二.使用步骤 1.vue中Login.vue 2.vue中axios.js 3.koa中routes.js 4.koa中 ...
- js 给服务器发消息,的Node.js:发送消息至服务器
我有我的服务器上运行以下的node.js:的Node.js:发送消息至服务器 var net=require('net'); var util=require('util'); var server= ...
- NODE.JS语音对接验证码通知短信流程
NODE.JS语言短信接口对接demo /* * 接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户 http://user.ihuyi.com/?D ...
- java 设置头错误信息,错误:在node.js中发送标头后无法设置标头
我在node.js中写了这个简单的登录代码: var express = require ("express"); var badyparser = require (" ...
- java邮箱发送验证码_java 邮箱发送验证码
packagecom.*******.util.email;importorg.apache.commons.mail.EmailException;importorg.apache.commons. ...
- Java 实现邮箱发送验证码——QQ邮箱为例
JAVA实现使用QQ邮箱发送验证码功能 QQ邮箱设置 第一步 ,打开QQ邮箱(地址:https://mail.qq.com/): 第二步 ,登录后点击设置 第三步,点击账户,下拉找到POP3/IMAP ...
- Node.js发送HTTP请求
在Node.js中发送HTTP请求,用的比较多的是request组件,该组件的功能非常强大,但是该组件需要通过回调函数的方式获取操作的结果. 由于现在Node.js对ES6已经支持的比较好了,我们更希 ...
- 优秀的 Node.js 包汇总
前端资源分享小程序<前端Tool>欢迎浏览. Web框架 Express - Web应用程序框架,为构建单页和多页以及混合Web应用程序提供了一组强大的功能. Next.js - Reac ...
- Node.js Express 框架 Express
Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速 ...
最新文章
- microsoft visual basic保存时错误429_win10更新失败错误8000FFF的解决小技巧
- 2020-11-4(安卓开发)
- java 最大子数组_求一个数组中子数组的最大和算法(Java实现)
- a标签点击跳转失效--IE6、7的奇葩bug
- 破解面试难题8个角度带你解读SQL面试技巧!
- java的cxf的maven_Maven+Spirng+Mybatis+CXF搭建WebService服务
- echart单击后获取横坐标值_新、老、离职员工名单只要刷新一下就能轻松获取|Excel125...
- 给扔物线 HenCoder Plus 学员的一次分享文字版
- sybase数据库与oracle,Oracle访问Sybase数据库的方法
- 破解极验(geetest)滑动验证码
- 中国姓氏人口排名及分布
- 截取字符串中某一段数据
- 项目经理:什么是矩阵型组织结构?
- 如何在长期地学习和工作中保持精力充沛?
- 递归走楼梯or斐波那契数列
- 域名解析ip地址的过程
- bodgeito通关教程
- 渠道分析 之 渠道分析的价值 -3
- 程序员必备的几个图标网站
- 【转载】网站关闭了域名备案信息是否需要注销,答案是一定要记得注销域名备案信息,防止域名过期后被他人注册用于非法用途而带来不必要的麻烦...
热门文章
- 玩客云改无线打印服务器,再玩一次机,我把玩客云改造成了群控系统!
- Python_内置模块
- 小程序图片不显示(在没有错误的情况下)
- 微信小程序自定义文本输入框-升级版
- 计算机汉字的编辑教案,人教版四年级信息技术《第三课 做个巧手小编辑》教案(精品获奖)...
- Python爬虫新手入门教学(十四):爬取有声小说网站数据
- SQL2005 下载及安装汇总
- 14.OracleRAC打补丁执行:./datapatch -verbose 夯死
- FreeCAD 使用PartDesign创建一个简单的零件
- 擅用沟通技巧:二十五分钟等于二十五万美元