Java实现邮箱激活验证2
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
Java实现邮箱激活验证2的更多相关文章
- Java注册帐号邮箱激活验证实现
Java注册帐号邮箱激活验证实现 1.需要加入发送邮件的mail.jar: http://www.oracle.com/technetwork/java/javamail/index-138643.h ...
- Java实现邮箱激活验证
最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 RegisterValidateService.java [java] view plaincopyprint? package co ...
- Java实现注册邮箱激活验证
邮件发送servelet实现 package com.xbs.register.main; import java.io.IOException;import java.util.Date;impor ...
- servlet邮箱激活验证实例含代码
也有很多人本来有机会的,他们都拒绝了,不想让自己太累,太麻烦.或者中途被情绪所左右,半途而废了. 成长是有代价的,同样悠闲也是有代价的. 流程: 用户填写相关信息,点击注册按钮 系统先将用户记录保存到 ...
- 主攻ASP.NET MVC4.0之重生:发邮箱激活验证
导入Interop.jmail组件 using jmail;using System.Net.Mail; 点击下载源代码 Controller相关代码 public class SendEmailCo ...
- java 手机号码+邮箱的验证
import java.util.regex.Pattern; //导入的包 1:String REGEX_MOBILE = "^((17[0-9])|(14[0-9])|(13[0-9]) ...
- Java实现邮箱验证
Java实现邮箱验证 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开 ...
- 转:java 帐号激活与忘记密码 实例
原文链接:http://endual.iteye.com/blog/1613679 一.帐户激活 在 很多时候,在某些网站注册一个用户之后,网站会给这个用户注册时填写的email地址发送一封帐户激 ...
- java工具类(二)之java正则表达式表单验证
java正则表达式表单验证类工具类(验证邮箱.手机号码.qq号码等) 这篇文章主要介绍了java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等方法,需要的朋友可以参考下. jav ...
随机推荐
- 使用block的好处
1 使用block 可以轻松地绑定各处代码块,使用delete 结构是分散的,不利于变量之间传值,不像block可以随意地获取变量值. 2.使用block可以方便执行异步代码,作为异步处理回调. In ...
- jmeter bean shell断言加密的响应信息(加密接口测试二)
断言加密的响应信息 1.在http请求-->添加-->断言-->bean shell 断言 import com.changfu.EncryptAndDecryptInterface ...
- OpenCV Mat数据类型及位数总结(转载)
OpenCV Mat数据类型及位数总结(转载) 前言 opencv中很多数据结构为了达到內存使用的最优化,通常都会用它最小上限的空间来分配变量,有的数据结构也会因为图像文件格式的关系而给予适当的变量, ...
- Java Nested Classes(内部类~第一篇英文技术文档翻译)
鄙人最近尝试着翻译了自己的第一篇英文技术文档.Java Nested Classes Reference From Oracle Documentation 目录 嵌套类-Nested Classes ...
- 十图详解tensorflow数据读取机制
在学习tensorflow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料.今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下 ...
- 数据仓库基础(九)Informatica小技巧(1)
本文转载自:http://www.cnblogs.com/evencao/p/3148373.html link path:查看某个字段的来源去处,非常有参考的价值.右击你想要看的字段,选择 sele ...
- linux常用命令:iostat 命令
Linux系统中的 iostat 是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会 汇报出CPU使用情况 ...
- Xcode10.x适配的部分问题
因为我们项目是一个Workspace,由若干个库组成(组件化比较碎),又涉及到海外和国内(存在很多差异性),整个项目的编译是由每个库的脚本(每个库生成会支持32位和64位,每次编译前会清除历史缓存), ...
- c++第十四天
<c++ primer, 5E> 第91页到第94页,笔记: 1.vector支持的操作. v.empty().v.size().v.push_back(t).v[n] 2.试图通过下标访 ...
- cache与buffer
Cache 缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的 ...