邮箱激活注册用户
来源:互联网 发布:星河网络 编辑:程序博客网 时间:2024/04/29 08:42
当我们注册一个网站的时候,很多时候会让我们去注册的邮箱接收激活邮件来完成注册,今天看了SSH视频,发现原理原来如此的简单,看来我们想当然的高大上其实有的时候并不难,只是我们不知道罢了~
邮箱激活的原理:
当我们注册的时候我们会填写注册的邮箱,点击注册,系统会给你的邮箱发送一封邮件,里边包含了我们注册用户时生成的一个随机数(注册码),这样当我们点击的时候,他就会获取这个注册码,去数据库查询是否有这个用户,有的话,就把用户状态改成已经激活的状态。
一些概念:
邮箱账号就是邮件服务器上的一块空间,邮件服务器跟web服务器类似,我们只要安装一个服务器软件就可以作为邮件服务器,smtp发送协议,pop接收协议
邮件发送的过程:
1.我是新浪的邮箱要给163的发送邮件,首先登陆新浪的客户端,连接SMTP服务器
2.写邮件
3.发送邮件,发送到163的服务器上,存到服务器的硬盘上
4.163用户登陆到客户端,通过用户名和密码连接POP3的服务器
5.收取邮件,找到邮件的位置,将邮件返回到客户端
DEMO
一、在本机上搭建邮箱服务器:(我使用的是winmail)
工具下载地址
二、安装+配置(2步:域名+用户)
三、设置Foxmail(添加账户)
四、编写代码(发邮件的工具类)
package cn.itcast.shop.utils;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.Message.RecipientType;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;/** * 邮件发送工具类 * @author CD * */public class MailUtils { /** * 发送邮件的方法 * @param to:收件人 * @param code:激活码 */ public static void sendMail(String to,String code){ /** * 1.获得Session对象,连接的意思 * 2.创建一个代表邮件的对象Message * 3.发送邮件Transport */ //1.获得连接对象 Properties props=new Properties(); props.setProperty("mail.host", "localhost"); Session session=Session.getInstance(props,new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication("service@shop.com","111"); } }); //2.创建邮件对象: Message message =new MimeMessage(session); //设置发件人 try { message.setFrom(new InternetAddress("service@shop.com")); //设置收件人 message.addRecipient(RecipientType.TO, new InternetAddress(to)); //抄送迷送 //设置标题 message.setSubject("来自豆瓣的激活邮件"); //设置邮件正文 message.setContent("<h1>豆瓣激活邮件,点下面链接完成激活操作!</h1><h3><a href='http://192.168.17.1:8888/shop/user_active?code="+code+"'>http://192.168.17.1:8888/shop/user_active?code="+code+"</a></h3>","text/html;charset=utf-8"); } catch (AddressException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } //3.发送邮件 try { Transport.send(message); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args){ sendMail("aaa@shop.com","1111"); }}
五、收邮件
成功!~
0 0
- 用户注册邮箱激活
- 邮箱激活注册用户
- 用户注册实现邮箱激活
- java用户注册邮箱激活
- ASP.NET 实现注册用户 邮箱激活
- PHP用户注册邮箱验证激活帐号
- 用户注册邮箱验证激活帐号
- PHP用户注册邮箱验证激活帐号
- php用户注册邮箱验证及激活
- PHP用户注册邮箱验证激活账号
- 【JavaMailWeb】用户注册通过邮箱激活案例
- PHP用户注册邮箱验证激活帐号
- PHP用户注册邮箱验证激活帐号
- 【JavaMailWeb】用户注册通过邮箱激活案例
- 【JavaMailWeb】用户注册通过邮箱激活案例
- 邮箱激活,注册信息
- 注册邮箱激活
- 注册邮箱激活功能
- Qt::Q_DECLARE_METATYPE
- 命令行方式给Linux 配置网卡方法
- MySQL5.7.17安装
- The First Study Day For JavaWeb
- Swift正则表达式--判断输入类型
- 邮箱激活注册用户
- freecodecamp Search and Replace
- 17 - 03 - 01 图解HTTP(05)
- KMP实现与失效函数的改进(C++)
- 一个简单的电商网站秒杀程序的实现
- 深入研究Java类加载机制
- 209. Minimum Size Subarray Sum**
- 自定义View利用缓冲区实现绘画板功能
- Spring Boot 2.0.0参考手册_中英文对照_Part IV_26