javamail实现注册激活邮件

  

本文实例为大家分享了javamail注册激活邮件的具体代码,供大家参考,具体内容如下
  

  

<强>需要的jar包

  

1。MySQL驱动包
  

2. mail.jar包   

<强> SMTP和POP3协议概述

  

SMTP协议称为简单邮件传输协议,是一组用于从原地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP的协议簇,SMTP是负责邮件服务器之间的寄信的通信协定POP3协议称为邮局协议版3本,也是TCP/IP协议簇的一员,基于POP3协议的服务器是用来接收信件的。每个邮件地址一般只有一个如果想要同时收取多个邮箱的信件,就需要挨个设置每个邮箱的POP3服务器地址。

  

 javamail实现注册激活邮件

  

核心代码实现

        #创建数据库表   创建数据库javamail;   使用javamail;   创建表的用户(   id auto_increment int主键,   用户名varchar(30)非空,   密码varchar(30)非空,   昵称varchar(30)不空,   电子邮件varchar(30)非空,   州int默认0 #标识是否已经激活0未激活1已激活   代码varchar (64) not null   );//创建数据库对应的javabean   公开课出发{   私人整数id;   私人字符串的用户名;   私人密码字符串;   私人字符串昵称;   私人字符串邮件;   私人整数状态;   私人字符串代码;//省略setter和getter   }//数据库操作类UserDao   公开课UserDao {   私人康涅狄格州连接;//获取数据库连接   公共空间getConn () {   forname (“com.mysql.jdbc.Driver”);   字符串url=" mysql: jdbc://localhost: 3306/javamail”;   字符串rootname=案?   字符串rootpass=俺俏鳌?   康涅狄格州=DriverManager.getConnection (url、rootname rootpass);   }//注册   公共空间regist(出发用户){      字符串sql="插入用户(用户名,密码,昵称,电子邮件,代码)值(& # 63;& # 63;& # 63;,& # 63;,& # 63;)”;   PreparedStatement pstmt=conn.preparedCall (sql);   pstmt.setString (user.getUsername ());   pstmt.setString (2, user.getPassword ());   pstmt.setString (3, user.getNickname ());   pstmt.setStirng (4, user.getEmail ());   pstmt.setString (5, user.getCode ());   pstmt.executeUpdate ();   }//激活   公共空间activeByCode(字符串代码){      字符串sql="更新用户设置状态=1,代码=零代码=& # 63;”;   PreparedStatement pstmt=conn.preparedCall (sql);   pstmt.setString(1、代码);   pstmt.executeUpdate ();   }//关闭数据库连接   公共空间closeConn () {   如果(康涅狄格州!=null) {   conn.close ();   }   }   }//一个工具类,用于获取随机代码注册激活码   公开课UUIDUtils {   公共静态字符串getUUID () {   返回UUID.randomUUID () .toString () .replace (“-”、“) + UUID.randomUUID () .toString () .replace (“-”、“);   }   }//index . jsp前端页面实现   & lt;形式行动=" & lt; %=request.getContextPath() %祝辞/regist。做”方法=" post "比;   & lt; tr>   & lt; td> & lt;标签=坝没痹谡撕? lt;/label> & lt;/td>   & lt; td> & lt;输入类型=拔谋尽眓ame="用户名"/祝辞& lt;/td>   & lt;/tr>   & lt; tr>   & lt; td> & lt;标签=懊苈搿痹诿苈? lt;/label> & lt;/td>   & lt; td> & lt;输入类型=拔谋尽眓ame="密码"/祝辞& lt;/td>   & lt;/tr>   & lt; tr>   & lt; td> & lt;标签=瓣浅啤弊4顷浅? lt;/label> & lt;/td>   & lt; td> & lt;输入类型=拔谋尽眓ame="昵称"/祝辞& lt;/td>   & lt;/tr>   & lt; tr>   & lt; td> & lt;标签=暗缱佑始弊4怯氏? lt;/label> & lt;/td>   & lt; td> & lt;输入类型=拔谋尽眓ame="电子邮件"/祝辞& lt;/td>   & lt;/tr>   & lt; tr>   & lt; td> & lt;输入类型=疤峤弧眝alue=" https://www.yisu.com/zixun/注册”/祝辞& lt;/td>   & lt; td> & lt;输入类型=爸刂谩眓ame="重写“/祝辞& lt;/td>   & lt;/tr>   & lt;/form>//发送邮件的跑龙套工具类   公开课SendMailUitls {      公共静态孔隙sendMail(字符串,字符串代码){//会话是邮件包下的,因为是本地测试,所以第一个参数直接创建默认的即可   会话会话=会话。getInstance(新属性()、新身份(){   @Override   保护PasswordAuthentication getPasswordAuthentication () {   返回新PasswordAuthentication (“server@store.com”、“111”);   }   });//创建邮件对象   消息消息=new MimeMessage(会话);//设置发件人,这里我创建了一个server@store.com用于发送邮件   消息。setFrom(新InternetAddress (server@store.com));   message.setRecipient (RecipientType。,新InternetAddress ());   message.setSubject(“来自个博网的注册激活邮件”);   message.setContent (“& lt; a href=' http://localhost: 8080/RegistMailWeb/active.do祝辞点我激活& lt;/a>”,“text/html; charset=utf - 8”);//发送邮件   Transport.send(消息);   }   }//regist.doServlet实现   公开课RegistServlet扩展HttpServlet {   公共空间init () {   super.init ();   }      公共空间服务(HttpServletRequest请求,HttpServletResponse响应){//获取数据   字符串的用户名=request.getParameter(“用户名”);   字符串密码=request.getParameter(“密码”);   字符串昵称=request.getParameter(“昵称”);   字符串邮件=request.getParameter(“电子邮件”);//封装数据   出发用户=new出发();   user.setUsername(用户名);   user.setPassword(密码);   user.setNickname(昵称);   user.setEmail(电子邮件);   user.setCode (UUIDUtils.getUUID ());//注册   UserDao刀=new UserDao ();   dao.getConn ();   dao.regist(用户);   dao.closeConn ();//发送邮件   SendMailUtils.sendMail(电子邮件、user.getCode ());   }      公共空间摧毁(){   super.desroy ();   }   }//创建活跃。做Servlet用于激活邮箱吗   公开课ActiveServlet HttpServlet {   公共空间init () {   super.init ();   }      公共空间服务(HttpServletRequest请求,HttpServletResponse响应){//获取数据   字符串代码=request.getParameter(“代码”);//数据库判断对代码应是否存在,(这里就不进行判断了,直接进行比对)状态=1,代码=零代表激活   UserDao刀=new UserDao ();   dao.activeByCode(代码);//重定向success.jsp   request.getRequestDispatcher (“/web - inf/success.jsp”) forward格式(请求、响应);   }      公共空间摧毁(){   super.destroy ();   }   }      

javamail实现注册激活邮件