Java实现邮箱激活验证2

SendEmail.java

  1. package com.app.tools;  
  2.   
  3. import java.util.Date;  
  4. import java.util.Properties;  
  5.   
  6. import javax.mail.Authenticator;  
  7. import javax.mail.Message;  
  8. import javax.mail.MessagingException;  
  9. import javax.mail.PasswordAuthentication;  
  10. import javax.mail.Session;  
  11. import javax.mail.Transport;  
  12. import javax.mail.internet.InternetAddress;  
  13. import javax.mail.internet.MimeMessage;  
  14.   
  15.   
  16.   
  17. public class SendEmail {  
  18.       
  19.     public static final String HOST = "smtp.163.com";  
  20.     public static final String PROTOCOL = "smtp";     
  21.     public static final int PORT = 25;  
  22.     public static final String FROM = "xxxxx@xx.com";//发件人的email  
  23.     public static final String PWD = "123456";//发件人密码  
  24.       
  25.       
  26.     private static Session getSession() {  
  27.         Properties props = new Properties();  
  28.         props.put("mail.smtp.host", HOST);//设置服务器地址  
  29.         props.put("mail.store.protocol" , PROTOCOL);//设置协议  
  30.         props.put("mail.smtp.port", PORT);//设置端口  
  31.         props.put("mail.smtp.auth" , true);  
  32.           
  33.         Authenticator authenticator = new Authenticator() {  
  34.   
  35.             @Override  
  36.             protected PasswordAuthentication getPasswordAuthentication() {  
  37.                 return new PasswordAuthentication(FROM, PWD);  
  38.             }  
  39.               
  40.         };  
  41.         Session session = Session.getDefaultInstance(props , authenticator);  
  42.           
  43.         return session;  
  44.     }  
  45.       
  46.     public static void send(String toEmail , String content) {  
  47.         Session session = getSession();  
  48.         try {  
  49.             System.out.println("--send--"+content);  
  50.             // Instantiate a message  
  51.             Message msg = new MimeMessage(session);  
  52.    
  53.             //Set message attributes  
  54.             msg.setFrom(new InternetAddress(FROM));  
  55.             InternetAddress[] address = {new InternetAddress(toEmail)};  
  56.             msg.setRecipients(Message.RecipientType.TO, address);  
  57.             msg.setSubject("账号激活邮件");  
  58.             msg.setSentDate(new Date());  
  59.             msg.setContent(content , "text/html;charset=utf-8");  
  60.    
  61.             //Send the message  
  62.             Transport.send(msg);  
  63.         }  
  64.         catch (MessagingException mex) {  
  65.             mex.printStackTrace();  
  66.         }  
  67.     }  
  68.   
  69. }  



MD5Util.java

  1. package com.app.tools;  
  2.   
  3. import java.io.UnsupportedEncodingException;  
  4. import java.security.MessageDigest;  
  5. import java.security.NoSuchAlgorithmException;  
  6.   
  7. public class MD5Util {  
  8.       
  9.       
  10.     public static byte[] encode2bytes(String source) {  
  11.         byte[] result = null;  
  12.         try {  
  13.             MessageDigest md = MessageDigest.getInstance("MD5");  
  14.             md.reset();  
  15.             md.update(source.getBytes("UTF-8"));  
  16.             result = md.digest();  
  17.         } catch (NoSuchAlgorithmException e) {  
  18.             e.printStackTrace();  
  19.         } catch (UnsupportedEncodingException e) {  
  20.             e.printStackTrace();  
  21.         }  
  22.           
  23.         return result;  
  24.     }  
  25.       
  26.       
  27.     public static String encode2hex(String source) {  
  28.         byte[] data = encode2bytes(source);  
  29.   
  30.         StringBuffer hexString = new StringBuffer();  
  31.         for (int i = 0; i < data.length; i++) {  
  32.             String hex = Integer.toHexString(0xff & data[i]);  
  33.               
  34.             if (hex.length() == 1) {  
  35.                 hexString.append('0');  
  36.             }  
  37.               
  38.             hexString.append(hex);  
  39.         }  
  40.           
  41.         return hexString.toString();  
  42.     }  
  43.       
  44.       
  45.     public static boolean validate(String unknown , String okHex) {  
  46.         return okHex.equals(encode2hex(unknown));  
  47.     }  
  48.       
  49. }  


ServiceException.java

[javascript] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. package com.app.tools;  
  2.   
  3. public class ServiceException extends Exception {  
  4.     private static final long serialVersionUID = -1708015121235851228L;  
  5.       
  6.     public ServiceException(String message) {  
  7.         super(message);  
  8.     }  
  9. }  


jsp页面

registerEmailValidae.jsp

  1. <</span>h2>注册激活</</span>h2>  
  2.  <</span>form action="user/register?action=register" method="post">  
  3.      Email:<</span>input type="text" id="email" name="email" value="" >  
  4.      <</span>input type="submit" value="提交">  
  5.  </</span>form>  

register_success.jsp

  1. <</span>body>  
  2.   恭喜你注册成功!请到注册的邮箱点击链接激活!  
  3. </</span>body>  

activate_success.jsp:


    账号激活成功,点击这里去登录!
 

activate_failure.jsp:


    激活失败!错误信息:${message }
 

效果图:

2

3

4

5

原文地址:https://www.cnblogs.com/jxldjsn/p/5537538.html