SendEmail.java

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

MD5Util.java

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

ServiceException.java

[javascript] view plaincopyprint?

 
  1. package com.app.tools;
  2. public class ServiceException extends Exception {
  3. private static final long serialVersionUID = -1708015121235851228L;
  4. public ServiceException(String message) {
  5. super(message);
  6. }
  7. }

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

Java实现邮箱激活验证2的更多相关文章

  1. Java注册帐号邮箱激活验证实现

    Java注册帐号邮箱激活验证实现 1.需要加入发送邮件的mail.jar: http://www.oracle.com/technetwork/java/javamail/index-138643.h ...

  2. Java实现邮箱激活验证

    最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 RegisterValidateService.java [java] view plaincopyprint?   package co ...

  3. Java实现注册邮箱激活验证

    邮件发送servelet实现 package com.xbs.register.main; import java.io.IOException;import java.util.Date;impor ...

  4. servlet邮箱激活验证实例含代码

    也有很多人本来有机会的,他们都拒绝了,不想让自己太累,太麻烦.或者中途被情绪所左右,半途而废了. 成长是有代价的,同样悠闲也是有代价的. 流程: 用户填写相关信息,点击注册按钮 系统先将用户记录保存到 ...

  5. 主攻ASP.NET MVC4.0之重生:发邮箱激活验证

    导入Interop.jmail组件 using jmail;using System.Net.Mail; 点击下载源代码 Controller相关代码 public class SendEmailCo ...

  6. java 手机号码+邮箱的验证

    import java.util.regex.Pattern; //导入的包 1:String REGEX_MOBILE = "^((17[0-9])|(14[0-9])|(13[0-9]) ...

  7. Java实现邮箱验证

    Java实现邮箱验证 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开 ...

  8. 转:java 帐号激活与忘记密码 实例

    原文链接:http://endual.iteye.com/blog/1613679 一.帐户激活   在 很多时候,在某些网站注册一个用户之后,网站会给这个用户注册时填写的email地址发送一封帐户激 ...

  9. java工具类(二)之java正则表达式表单验证

    java正则表达式表单验证类工具类(验证邮箱.手机号码.qq号码等) 这篇文章主要介绍了java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等方法,需要的朋友可以参考下. jav ...

随机推荐

  1. [LeetCode] 286. Walls and Gates_Medium tag: BFS

    You are given a m x n 2D grid initialized with these three possible values. -1 - A wall or an obstac ...

  2. [LeetCode] 195. Tenth Line_Easy tag: Bash

    Given a text file file.txt, print just the 10th line of the file. Example: Assume that file.txt has ...

  3. js数组之可变函数

    在js的数组中有两个方法为数组添加元素:1.push();2.unshift(),push函数是将元素添加到数组的末尾,现在不用说大家估计也能猜出来,unshift这个函数就是把元素添加到数组的开头的 ...

  4. ide vscode安装

    在linux系统中安装VSCode(Visual Studio Code)   在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接 ...

  5. javascript技巧及常用事件方法集合(全)

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

  6. eclipse启动 报错,错误信息为 return exit code=13

    打不开的报错如下图: 解决方法:手工配置Eclipse使用的JDK,在Eclipse的安装目录中找到eclipse.ini文件,增加正确的JDK安装目录,如图 在plugins/ 下一行,增加 -vm ...

  7. iframe嵌套

    iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了. <iframe src="demo_iframe_sandbox.htm" ...

  8. 2018-2019-2 20165209 《网络对抗技术》Exp3:免杀原理与实践

    2018-2019-2 20165209 <网络对抗技术>Exp3:免杀原理与实践 1 免杀原理与实验内容 1.1 免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中 ...

  9. Linux基础命令---zip

    zip zip是一种最通用的文件压缩方式,使用于unix.msdos.windows.OS等系统.如果在编译zip时包含bzip 2库,zip现在也支持bzip 2压缩.当将大于4GB的文件添加到存档 ...

  10. AI+教育落地,百度大脑如何让校园更智能?

    人工智能作为影响社会底层技术革命逐渐向传统行业渗透,“AI+”已经替代“互联网+”成为创业创新的新引擎,出人意料的是,在AI在教育业的率先落地并且相当火爆. 现在,人工智能教育已成为从业者心目中的“教 ...