Node.js实现注册邮箱激活功能
来源:互联网 发布:学会linux能干什么 编辑:程序博客网 时间:2024/05/16 06:56
今天了解了node如何实现邮箱激活功能,这个功能非常常见,当我们注册一个账号时,肯定会有这步,下面看下如何实现这个功能。
一. 先注册一个支持发送验证邮件的邮箱,网易的126邮箱就可以
注册成功后进行登录,然后点击导航栏的设置,选择POP3/SMTP/IMAP,开启POP3/SMTP/IMAP服务,设置授权码就可以了。
二. 下载nodemailer插件
在命令行输入:
npm install --save nodemailer
三. 编写发送邮件代码:
1 . 对发送激活邮件代码进行封装,然后导出:
//email.js// 引入 nodemailervar 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.jsvar send = require('./mail-test');// 创建一个邮件对象var mail = { // 发件人 from: '流觞曲水 <xxx@126.com>', // 主题 subject: '测试', // 收件人 to: 'xxx@qq.com', // 邮件内容,HTML格式 text: '点击激活:xxx' //接收激活请求的链接};send(mail);
成功就可以在测试的邮箱看到所发的信息。
四. 验证步骤
就我自己之前写的一个个人博客的项目而言,简单的讲一下如何实现邮箱验证。
1 . 在自己定义的数据库用户数据结构中一定要有激活码、过期时间、是否已经激活的字段,用于在激活时进行判断;
{ code: String, //激活码,格式自己定义 date: Number, //过期日期,过期后不能激活 islive: Boolean //判断是否激活}
2 . 发送激活链接,其中包含用户名和激活码,如下面这样:
// 创建一个邮件对象 var mail = { // 发件人 from: '小静博客 <xiaojing@126.com>', // 主题 subject: '激活账号', // 收件人 to: usermess.email, //发送给注册时填写的邮箱 // 邮件内容,HTML格式 text: '点击激活:<a href="http://localhost:3000/checkCode?name='+ usermess.name +'&code='+ usermess.code + '"></a>' };
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('login', { title: '登录', error: '激活失败!' }); }else{ res.render('login', { title: '登录', error: '激活成功请登录!' }); } }); } });}
大概步骤就是这样,感兴趣的可以尝试一下!
阅读全文
1 0
- Node.js实现注册邮箱激活功能
- 注册邮箱激活功能
- 邮箱注册新会员,以及邮箱激活功能
- Java案例-用户注册邮箱绑定激活功能实现
- 用户注册实现邮箱激活
- Java案例-用户注册邮箱验证将邮箱激活码存入redis功能实现
- 实现邮箱激活账号功能
- ASP.NET 实现注册用户 邮箱激活
- 注册页实现激活邮箱验证
- Java实现注册邮箱激活验证
- java 实现注册时邮箱激活
- Java注册邮箱激活验证实现代码
- Java注册邮箱激活验证实现代码
- Java注册邮箱激活验证实现代码
- Java注册邮箱激活验证实现代码
- node.js中实现用户注册的功能
- 使用node.js实现简单注册登录功能
- Node.js+Express+MongoDB实现简单登录注册功能
- 【Docker】在ubuntu14.04镜像上安装GPU显卡驱动, CUDA和CUDNN
- (87)异常日志文件:通过改变标准输出到日志文件
- Chat room (codeforces-58A)
- Spring-task定时任务配置
- hdu 2052 Picture
- Node.js实现注册邮箱激活功能
- 进制转换(十进制数m转换成n进制)
- MFC串口通信串口指示灯的实现
- Hadoop基础教程-第10章 HBase:Hadoop数据库(10.1 NoSQL介绍)(草稿)
- FL2440的Linux内核编译出现问题的解决办法
- DM5加密
- Inside the C++ Model第二讲之 成员初始化列表(Member Initialization List)
- iOS GPUImage音视频采集以及美颜功能
- Springboot集成quartz之集群模式(第三期)