在平时开发中,我们经常需要获取验证码来验证身份,有很多方式可以获取,大多数都需要收费,这里推荐一个免费获取验证码发送的方式。

  1. 使用163免费邮箱获取授权码

  1. 打开https://mail.163.com/登录你的163邮箱,然后点击上方的设置

  1. 开通POP3/SMTP/IMAP服务

使用注册时的手机号发送短信

发送后点击我已发送,就可以得到授权码了

注意:一定要在这个页面保存好这个授权码,后面查不到的!!!

  1. 下载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);}
})
  1. 使用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
  1. 最后附上完整代码

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如何发送验证码到邮箱?相关推荐

  1. koa发送验证码至邮箱,QQ邮箱发送

    提示:koa发送验证码至邮箱,QQ邮箱发送 文章目录 前言 一.依赖和邮箱设置 二.使用步骤 1.vue中Login.vue 2.vue中axios.js 3.koa中routes.js 4.koa中 ...

  2. js 给服务器发消息,的Node.js:发送消息至服务器

    我有我的服务器上运行以下的node.js:的Node.js:发送消息至服务器 var net=require('net'); var util=require('util'); var server= ...

  3. NODE.JS语音对接验证码通知短信流程

    NODE.JS语言短信接口对接demo /* * 接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户 http://user.ihuyi.com/?D ...

  4. java 设置头错误信息,错误:在node.js中发送标头后无法设置标头

    我在node.js中写了这个简单的登录代码: var express = require ("express"); var badyparser = require (" ...

  5. java邮箱发送验证码_java 邮箱发送验证码

    packagecom.*******.util.email;importorg.apache.commons.mail.EmailException;importorg.apache.commons. ...

  6. Java 实现邮箱发送验证码——QQ邮箱为例

    JAVA实现使用QQ邮箱发送验证码功能 QQ邮箱设置 第一步 ,打开QQ邮箱(地址:https://mail.qq.com/): 第二步 ,登录后点击设置 第三步,点击账户,下拉找到POP3/IMAP ...

  7. Node.js发送HTTP请求

    在Node.js中发送HTTP请求,用的比较多的是request组件,该组件的功能非常强大,但是该组件需要通过回调函数的方式获取操作的结果. 由于现在Node.js对ES6已经支持的比较好了,我们更希 ...

  8. 优秀的 Node.js 包汇总

    前端资源分享小程序<前端Tool>欢迎浏览. Web框架 Express - Web应用程序框架,为构建单页和多页以及混合Web应用程序提供了一组强大的功能. Next.js - Reac ...

  9. Node.js Express 框架 Express

    Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速 ...

最新文章

  1. microsoft visual basic保存时错误429_win10更新失败错误8000FFF的解决小技巧
  2. 2020-11-4(安卓开发)
  3. java 最大子数组_求一个数组中子数组的最大和算法(Java实现)
  4. a标签点击跳转失效--IE6、7的奇葩bug
  5. 破解面试难题8个角度带你解读SQL面试技巧!
  6. java的cxf的maven_Maven+Spirng+Mybatis+CXF搭建WebService服务
  7. echart单击后获取横坐标值_新、老、离职员工名单只要刷新一下就能轻松获取|Excel125...
  8. 给扔物线 HenCoder Plus 学员的一次分享文字版
  9. sybase数据库与oracle,Oracle访问Sybase数据库的方法
  10. 破解极验(geetest)滑动验证码
  11. 中国姓氏人口排名及分布
  12. 截取字符串中某一段数据
  13. 项目经理:什么是矩阵型组织结构?
  14. 如何在长期地学习和工作中保持精力充沛?
  15. 递归走楼梯or斐波那契数列
  16. 域名解析ip地址的过程
  17. bodgeito通关教程
  18. 渠道分析 之 渠道分析的价值 -3
  19. 程序员必备的几个图标网站
  20. 【转载】网站关闭了域名备案信息是否需要注销,答案是一定要记得注销域名备案信息,防止域名过期后被他人注册用于非法用途而带来不必要的麻烦...

热门文章

  1. 玩客云改无线打印服务器,再玩一次机,我把玩客云改造成了群控系统!
  2. Python_内置模块
  3. 小程序图片不显示(在没有错误的情况下)
  4. 微信小程序自定义文本输入框-升级版
  5. 计算机汉字的编辑教案,人教版四年级信息技术《第三课 做个巧手小编辑》教案(精品获奖)...
  6. Python爬虫新手入门教学(十四):爬取有声小说网站数据
  7. SQL2005 下载及安装汇总
  8. 14.OracleRAC打补丁执行:./datapatch -verbose 夯死
  9. FreeCAD 使用PartDesign创建一个简单的零件
  10. 擅用沟通技巧:二十五分钟等于二十五万美元