zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Linux下安装Readis
    windows下的Redis安装:
    解决@ResponseBody不能和 <mvc:annotation-driven>同时使用的问题
    dom4j操作XML
    Ajax优缺点
    来一打前端博客压压惊
    tinypng upload一键压缩上传工具,告别人肉
    手把手教你撸一个简易的 webpack
    前端路由简介以及vue-router实现原理
    JS 数据类型、赋值、深拷贝和浅拷贝
  • 原文地址:https://www.cnblogs.com/jxldjsn/p/5537538.html
Copyright © 2011-2022 走看看