SendEmail.java
- package com.app.tools;
- import java.util.Date;
- import java.util.Properties;
- import javax.mail.Authenticator;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.PasswordAuthentication;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- public class SendEmail {
- public static final String HOST = "smtp.163.com";
- public static final String PROTOCOL = "smtp";
- public static final int PORT = 25;
- public static final String FROM = "xxxxx@xx.com";//发件人的email
- public static final String PWD = "123456";//发件人密码
- private static Session getSession() {
- Properties props = new Properties();
- props.put("mail.smtp.host", HOST);//设置服务器地址
- props.put("mail.store.protocol" , PROTOCOL);//设置协议
- props.put("mail.smtp.port", PORT);//设置端口
- props.put("mail.smtp.auth" , true);
- Authenticator authenticator = new Authenticator() {
- @Override
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(FROM, PWD);
- }
- };
- Session session = Session.getDefaultInstance(props , authenticator);
- return session;
- }
- public static void send(String toEmail , String content) {
- Session session = getSession();
- try {
- System.out.println("--send--"+content);
- // Instantiate a message
- Message msg = new MimeMessage(session);
- //Set message attributes
- msg.setFrom(new InternetAddress(FROM));
- InternetAddress[] address = {new InternetAddress(toEmail)};
- msg.setRecipients(Message.RecipientType.TO, address);
- msg.setSubject("账号激活邮件");
- msg.setSentDate(new Date());
- msg.setContent(content , "text/html;charset=utf-8");
- //Send the message
- Transport.send(msg);
- }
- catch (MessagingException mex) {
- mex.printStackTrace();
- }
- }
- }
MD5Util.java
- package com.app.tools;
- import java.io.UnsupportedEncodingException;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- public class MD5Util {
- public static byte[] encode2bytes(String source) {
- byte[] result = null;
- try {
- MessageDigest md = MessageDigest.getInstance("MD5");
- md.reset();
- md.update(source.getBytes("UTF-8"));
- result = md.digest();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return result;
- }
- public static String encode2hex(String source) {
- byte[] data = encode2bytes(source);
- StringBuffer hexString = new StringBuffer();
- for (int i = 0; i < data.length; i++) {
- String hex = Integer.toHexString(0xff & data[i]);
- if (hex.length() == 1) {
- hexString.append('0');
- }
- hexString.append(hex);
- }
- return hexString.toString();
- }
- public static boolean validate(String unknown , String okHex) {
- return okHex.equals(encode2hex(unknown));
- }
- }
ServiceException.java
- package com.app.tools;
- public class ServiceException extends Exception {
- private static final long serialVersionUID = -1708015121235851228L;
- public ServiceException(String message) {
- super(message);
- }
- }
jsp页面
registerEmailValidae.jsp
- <</span>h2>注册激活</</span>h2>
- <</span>form action="user/register?action=register" method="post">
- Email:<</span>input type="text" id="email" name="email" value="" >
- <</span>input type="submit" value="提交">
- </</span>form>
register_success.jsp
- <</span>body>
- 恭喜你注册成功!请到注册的邮箱点击链接激活!
- </</span>body>
activate_success.jsp:
账号激活成功,点击这里去登录!
activate_failure.jsp:
激活失败!错误信息:${message }
效果图:
2
3
4
5