首页 web前端 js教程 分享用Node.js实现注册邮箱的步骤实例

分享用Node.js实现注册邮箱的步骤实例

Jul 26, 2017 pm 03:06 PM
javascript node.js 激活

今天了解了node如何实现邮箱激活功能,这个功能非常常见,当我们注册一个账号时,肯定会有这步,下面看下如何实现这个功能

一. 先注册一个支持发送验证邮件的邮箱,网易的126邮箱就可以

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

二. 下载nodemailer插件

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

三. 编写发送邮件代码:

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

//email.js
// 引入 nodemailer
var nodemailer = require('nodemailer');
// 创建一个SMTP客户端配置
var config = {
    host: 'smtp.126.com', 
    port: 25,
    auth: {
      user: 'xxx@126.com', //刚才注册的邮箱账号
      pass: 'xxxxxx' //邮箱的授权码,不是注册时的密码
    }
  };
// 创建一个SMTP客户端对象
var 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);
  });
};
登录后复制

2 . 进行测试:

//sendtest.js
var send = require('./mail-test');
// 创建一个邮件对象
var mail = {
  // 发件人
  from: &#39;流觞曲水 <xxx@126.com>&#39;,
  // 主题
  subject: &#39;测试&#39;,
  // 收件人
  to: &#39;xxx@qq.com&#39;,
  // 邮件内容,HTML格式
  text: &#39;点击激活:xxx&#39; //接收激活请求的链接
};
send(mail);
登录后复制

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

四. 验证步骤

就我自己之前写的一个个人博客的项目而言,简单的讲一下如何实现邮箱验证。

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

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

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

// 创建一个邮件对象
  var mail = {
    // 发件人
    from: &#39;小静博客 <xiaojing@126.com>&#39;,
    // 主题
    subject: &#39;激活账号&#39;,
    // 收件人
    to: usermess.email, //发送给注册时填写的邮箱
    // 邮件内容,HTML格式
    text: &#39;点击激活:<a href="http://localhost:3000/checkCode?name=&#39;+ usermess.name +&#39;&code=&#39;+ usermess.code + &#39;" rel="external nofollow" ></a>&#39;
  };
登录后复制

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

exports.checkCode = function (req, res){
  var username = req.query.name;
  var code = req.query.code;
  var outdate = req.query.outdate;
  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.render(&#39;login&#39;, {
            title: &#39;登录&#39;,
            error: &#39;激活失败!&#39;
          });
        }else{
          res.render(&#39;login&#39;, {
            title: &#39;登录&#39;,
            error: &#39;激活成功请登录!&#39;
          });
        }
      });
    }
  });
}
登录后复制

以上所述是小编给大家介绍的Node.js如何实现注册邮箱激活功能 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

以上是分享用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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++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激

PyCharm激活攻略分享:让你的编程更得心应手 PyCharm激活攻略分享:让你的编程更得心应手 Feb 21, 2024 pm 08:51 PM

PyCharm激活攻略分享:让你的编程更得心应手对于许多Python开发者来说,PyCharm是一款常用的集成开发环境(IDE),提供了强大的功能,方便编写、调试和管理Python代码。然而,许多用户可能会遇到激活PyCharm的问题,尤其是对于新手来说。在本文中,我们将分享PyCharm激活的攻略,帮助你更轻松地享受编程的乐趣。第一步:下载PyCharm首

See all articles