首页 web前端 js教程 源生Node.js注册邮箱激活说明详解

源生Node.js注册邮箱激活说明详解

May 08, 2018 pm 06:10 PM
javascript node.js 激活

这次给大家带来源生Node.js注册邮箱激活说明详解,源生Node.js注册邮箱激活的注意事项有哪些,下面就是实战案例,一起来看一下。

在做自己的node项目极客教程时,需要开发一个注册邮箱激活的功能,这个功能非常常见,当我们注册一个账号时,肯定会有这步,下面看下如何实现这个功能。

1. 注册邮箱

先注册一个支持发送验证邮件的邮箱,我这里注册的是网易的163邮箱,所以下面都是以163邮箱作为发件邮箱

注册成功后进行登录,然后点击导航栏的设置,选择POP3/SMTP/IMAP,开启POP3/SMTP/IMAP服务,设置授权码就可以了。

2. 下载nodemailer插件

在命令行输入:npm install --save nodemailer

3. 编写发送邮件代码

3.1 对发送激活邮件代码进行封装,然后导出:

//email.js
// 引入 nodemailer
const nodemailer = require('nodemailer');
// 创建一个SMTP客户端配置
const config = {
    host: 'smtp.163.com',
    port: 465,
    auth: {
      user: 'xxxx@163.com', //刚才注册的邮箱账号
      pass: 'xxxxxx' //邮箱的授权码,不是注册时的密码
    }
  };
// 创建一个SMTP客户端对象
const transporter = nodemailer.createTransport(config);
// 发送邮件
module.exports = function (mail){
  transporter.sendMail(mail, function(error, info){
    if(error) {
      return console.log(error);
    }
    console.log('mail sent:', info.response);
  });
};
登录后复制

3.2 进行测试:

//sendtest.js
var send = require('./email.js');
// 创建一个邮件对象
var mail = {
  // 发件人
  from: '极客教程 <xxxx@163.com>',
  // 主题
  subject: '[极客教程]激活邮箱账号',
  // 收件人
  to: 'xxxx@qq.com',
  // 邮件内容,HTML格式
  text: `尊敬的${user.name},您好!点击链接即可激活您的极客教程
      网账号,http://localhost:3000/checkCode?name=${user.name}&code=${user.code}为保障您的帐号安全,请在24小时内点击该链接,您也可以将链接复制到浏览器地址栏访问。 若如果您并未尝试修改密码,请忽略本邮件,由此给您带来的不便请谅解。本邮件由系统自动发出,请勿直接回复!` //接收激活请求的链接
};
send(mail);
登录后复制

成功就可以在测试的邮箱看到所发的信息。

4. 验证步骤

简单的讲一下如何实现邮箱验证

1 . 在自己定义的数据库用户数据结构中一定要有激活码、过期时间、是否已经激活的字段,用于在激活时进行判断;

{
  code: String, //激活码,格式自己定义
  date: Number, //过期日期,过期后不能激活
  islive: Boolean //判断是否激活
}
登录后复制

2 . 发送激活链接,其中包含用户名和激活码,如下面这样:

// 创建一个邮件对象
var mail = {
  // 发件人
  from: '极客教程 <xxxx@163.com>',
  // 主题
  subject: '[极客教程]激活邮箱账号',
  // 收件人
  to: 'xxxx@qq.com',
  // 邮件内容,HTML格式
  text: `尊敬的${user.name},您好!点击链接即可激活您的极客教程
      网账号,http://localhost:3000/checkCode?name=${user.name}&code=${user.code}为保障您的帐号安全,请在24小时内点击该链接,您也可以将链接复制到浏览器地址栏访问。 若如果您并未尝试修改密码,请忽略本邮件,由此给您带来的不便请谅解。本邮件由系统自动发出,请勿直接回复!` //接收激活请求的链接
};
send(mail);
登录后复制

3 . 响应激活请求,根据激活链接的用户名进行查找,若用户存在则判断激活码是否一致,并判断激活码是否过期,全部正确则改变激活状态,此时激活成功,如下代码:

// check email code
exports.checkCode = function (req, res){
  var username = req.query.name;
  var code = req.query.code;
  User.findOne({name: username}, function (err, user){
      if (user.code === code && (user.date - Date.now()) > 0){
          User.update({name: username}, {islive: true}, function (err){
              if (err){
                  res.json({error: true})
              }else{
                  console.log(user)
                  res.json({ok: true})
              }
          });
      }else{
        res.json({
          email: user.mail,
          failure: true
        })
      }
  });
}
登录后复制

5. 遇到的问题

开发中遇到如下问题:

{ [AuthError: Invalid login - 535 Error: authentication failed]
name: ‘AuthError',
data: ‘535 Error: authentication failed',
stage: ‘auth' }

smtp服务器验证不通过,因为网易的邮箱有个授权限制,一定要好好检查你注册邮箱时的账号和授权码。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Angular CLI操作蓝本解析代码

Angular CLI进行单元与E2E测试步骤详解

以上是源生Node.js注册邮箱激活说明详解的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

office激活向导怎么关?(怎么关闭office激活向导提示) office激活向导怎么关?(怎么关闭office激活向导提示) Mar 14, 2024 pm 07:00 PM

  在进行电脑办公的过程中,经常会用到office软件,但是一打开office就出现激活向导的窗口提示,要如何关闭呢?有什么办法可以彻底关闭激活向导提示?其实操作很简单,大家可以跟着小编的方法来操作。  一、使用Windows键+R组合键来关闭Excel激活向导  1、首先,使用Windows键+R快捷键来打开运行窗口;  2、在运行窗口中输入“excel/regserver”,然后按下回车键;  3、稍等片刻,即可看到一个黑色的框出现,并显示“注册成功”的

如何修复Win10激活错误代码'0xc0000022”? 如何修复Win10激活错误代码'0xc0000022”? Jan 12, 2024 pm 06:15 PM

Win10系统提供了更加强大的而完善的功能,加上及其便捷的操作方式,让越来越多的用户选择安装这款操作系统,而许多用户在安装时出现了许多未知的的错误,最常见的就是win10激活失败,并提示错误代码“0xc0000022”,下面,小编就给大家带来了解决激活失败提示错误代码“0xc0000022”图文教程。自微软发布win10以来,用户都对其充满了期待。因此,很多的用户都纷纷装上了win10,而为了更完美,激活是必须的,不过最近,有些win10用户在电脑中激活失败提示错误代码0xc0000022,这是

cad2020怎么激活-cad2020激活教程 cad2020怎么激活-cad2020激活教程 Mar 04, 2024 pm 06:00 PM

有很多朋友还不知道cad2020怎么激活,所以下面小编就讲解了cad2020的激活教程,有需要的小伙伴赶紧来看一下吧,相信对大家一定会有所帮助哦。1、双击桌面上的【CAD2020图标】,弹出移植自定义设置。点击【勾】图标。2、你可以点击【是】或是【否】,即可。3、弹出【AutoCAD-DWG关联】,点击第一个即可。4、选【单用户】,点击【输入序列号】。5、点击【我同意】。6、点击【激活】。7、序列号:【666-69696969】,产品密钥输入:【001L1】,点击【下一步】。8、勾选我具有Aut

一分钟搞定PyCharm专业版激活 一分钟搞定PyCharm专业版激活 Feb 22, 2024 pm 05:27 PM

由于激活PyCharm专业版需要购买许可证,因此激活过程并非只需一分钟就能完成。激活PyCharm专业版的过程中,通常需要使用许可证密钥和激活码。如果您拥有合法的许可证密钥和激活码,可以通过以下步骤来激活PyCharm专业版:打开PyCharm软件,在菜单栏中选择"Help"(帮助)-"Register"(注册)。在弹出的对话框中选择"Licensese

如何将win10企业版2016长期服务版升级为专业版 如何将win10企业版2016长期服务版升级为专业版 Jan 03, 2024 pm 11:26 PM

当我们不想要继续使用当前的win10企业版2016长期服务版的时候可以选择切换成专业版,方法也很简单,只需要改一些内容然后进行系统镜像的安装就可以了。win10企业版2016长期服务版怎么改专业版1、按下win+R,然后输入“regedit”2、直接在上面的地址栏里面粘贴下面的这个路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion3、然后找到EditionID,将里面的内容替换成“professional”确

小米小爱同学如何激活 小米小爱同学如何激活 Mar 19, 2024 am 09:30 AM

熟悉MIUI系统的伙伴们应该都了解,它有许多便捷操作,例如桌面一键拨号、三指下滑截屏等。今天要给大家介绍的是MIUI14的长按操作,例如在桌面长按应用图标以显示扩展菜单,在任何界面下长按电源键以唤醒小爱同学,通过长按实现功能直达、快速启动等功能。小米小爱同学如何激活在手机设置中,找到并点击“小爱同学”。接着进入小爱同学界面,点击“语音助手”。接着在语音助手界面,点击“语音唤醒”右侧的按钮进行开启。

Windows10激活密钥的获取方式及注意事项 Windows10激活密钥的获取方式及注意事项 Mar 27, 2024 pm 09:09 PM

Windows10激活密钥是在安装Windows10操作系统时需要输入的一组序列号,它是用来验证系统的合法性并解锁操作系统中的所有功能。对于很多用户来说,激活Windows10系统可能会遇到一些困难,因此本文将介绍一些获取Windows10激活密钥的方式和注意事项。获取Windows10激活密钥的方式1.购买正版密钥购买正版Windows10激

小米手机如何激活小爱同学 小米手机如何激活小爱同学 Mar 14, 2024 pm 03:46 PM

智能手机如今已经成为我们生活中不可或缺的一部分。而小米手机,作为热门的手机产品,凭借其出色的性能和丰富的功能性价比,赢得了广大用户的喜爱。其中,小爱同学作为小米手机的智能语音助手,也为用户带来了智能语音助手的便捷体验。那么我们在使用小米手机的过程中究竟该如何激活小爱同学呢,这篇教程攻略就将为大家带来详细的操作步骤攻略,还不了解的用户们就快来跟着本文一起操作吧!在打开的小米设置页面中,点击更多设置菜单项。点击手势及按钮快捷方式菜单项。这样就可以打开手势及按钮快捷方式的打开页面了,找到语音助手菜单项

See all articles