Java实现注册邮箱激活验证
邮件发送servelet实现
package com.xbs.register.main;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
/**
*
*/
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* @author James
* 发送邮件的servlet实现
*/
public class RegisterServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html");
// 编码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
String toMail = req.getParameter("email");
String registerName = req.getParameter("userName");
String userName = "1364450155@qq.com";
String password = "wjw6993469";
String registerId = "" + Math.random() * Math.random();
String url = "http://localhost:8080/register/MailBackServlet?registerId="
+ registerId+"®isterName="+registerName;// 待会用户点在邮箱中点击这个链接回到你的网站。
HttpSession httpSession = req.getSession();
httpSession.setAttribute(registerId, registerName);
// 秒数
httpSession.setMaxInactiveInterval(1000);
httpSession.setAttribute("2", registerName);
/*
* System.out.println("------"+registerId); String str = (String)
* httpSession.getAttribute(registerId);
* System.out.println("----------------"+str);
* System.out.println(registerName);
*/
// 设置身份验证、服务器等信息
Properties props = new Properties();
props.setProperty("mail.smtp.host", "smtp.qq.com");
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.store.protocol", "smtp");
Authenticator authenticator = new MyAuthenticator(userName, password);
javax.mail.Session session = javax.mail.Session.getDefaultInstance(
props, authenticator);
session.setDebug(true);
try {
Address from = new InternetAddress(userName);
Address to = new InternetAddress(toMail);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(from);
msg.setSubject("诚实网站注册");
msg.setSentDate(new Date());
msg.setContent("<a href='" + url + "'>点击" + url + "完成注册</a>",
"text/html;charset=utf-8");
msg.setRecipient(RecipientType.TO, to);
/*
* Transport transport = session.getTransport("smtp");
* transport.connect("smtp.163.com", userName, password);
* transport.sendMessage(msg,msg.getAllRecipients());
* transport.close();
*/
Transport.send(msg);
} catch (MessagingException e) {
e.printStackTrace();
}
req.getRequestDispatcher("/sendMailSuccess.jsp").forward(req, resp);
}
}
/**
* 发送邮件的邮箱的授权用户名和密码类
*/
package com.xbs.register.main;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
/**
* @author James
*
*/
public class MyAuthenticator extends Authenticator {
private String userName;
private String password;
public MyAuthenticator(String userName, String password){
this.userName = userName;
this.password = password;
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
}
}
简单的注册页面
register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>用户注册利用邮箱进行验证</title>
</head>
<body>
<br/>
<form action="${pageContext.request.contextPath }/RegisterServlet" method="post">
<font size="24" color="red">用户注册</font><br/>
邮箱:<input type="text" name="email" /><br/>
昵称:<input type="text" name="userName" /><br/>
<input type="submit" value="submit" /><br/>
</form>
</body>
</html>
所需要的jar报。mail.jar和servlet.jar
http://www.2cto.com/kf/201312/268157.html例子
Java实现注册邮箱激活验证的更多相关文章
- Java实现邮箱激活验证
最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 RegisterValidateService.java [java] view plaincopyprint? package co ...
- Java注册帐号邮箱激活验证实现
Java注册帐号邮箱激活验证实现 1.需要加入发送邮件的mail.jar: http://www.oracle.com/technetwork/java/javamail/index-138643.h ...
- Java实现邮箱激活验证2
SendEmail.java [java] view plaincopyprint? package com.app.tools; import java.util.Date; import ja ...
- servlet邮箱激活验证实例含代码
也有很多人本来有机会的,他们都拒绝了,不想让自己太累,太麻烦.或者中途被情绪所左右,半途而废了. 成长是有代价的,同样悠闲也是有代价的. 流程: 用户填写相关信息,点击注册按钮 系统先将用户记录保存到 ...
- Asp.Net 注册 邮箱激活
数据库 表的设计 State为用户状态 0为禁用 1为可用 默认为0,下面有个UserGUID,这个字段将来用于激活账户 首先你要写一个表单,验证码神马的,这个我就不写了..直接写处理的 代码在 ...
- 主攻ASP.NET MVC4.0之重生:发邮箱激活验证
导入Interop.jmail组件 using jmail;using System.Net.Mail; 点击下载源代码 Controller相关代码 public class SendEmailCo ...
- Java实现注册时发送激活邮件+激活
最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 1.RegisterController.java package com.app.web.controller; import java ...
- Java实现发送邮箱验证码/注册验证链接
本文以163邮箱为例 1.准备(邮箱账号,邮箱必须设置POP3/SMTP/IMAP,设置步骤如下:) >>步骤:1 开启授权码服务 >>步骤:2 手机获取验证码 >> ...
- .net 实现注册邮箱验证激活
没事上网当了个注册邮箱验证激活的代码,用起来感觉还不错,特意和大家要一起分享一下 下面是主要实现代码: uing System.Net.Mail; public partial class jquer ...
随机推荐
- Job中织梦标签的调用
织梦CMS是一个好东东, 可以让一个网站更好维护和管理, 唯一让我感到忧桑的就是经常在搭后台的时候记不住那些标签,,无奈只能去看手册,有相同的案例直接COPY过来,直接用就OK~~~其实CMS这个东西 ...
- 理解button标签的默认行为
button标签的作用和它的名字一样,在绝大多数场合当做按钮来使用. 很多人在使用button按钮的时候出现过这样或者那样的问题,比如:自动提交表单.一次提交表单多次submit行为,有的浏览器下点击 ...
- EF-联合查询-结果集-Group by-统计数目
EF框架用着痛并且快乐着··· 毕竟用习惯了SQL语句直接硬查的··· SELECT C0.ID,C_C.Name,C_C.C_COUNT FROM article_type C0 INNER JOI ...
- hadoop 集群 加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令
加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令 方式1:静态添加datanode,停止namenode方式 1.停止namenode 2.修改slaves文件,并更新到各个节点3.启动na ...
- 第12天 android studio
1. http://jingyan.baidu.com/article/215817f7888dc21eda14230d.html Gradle DSL method not found:‘andro ...
- C++之map、list操作
#include <iostream> #include "map_struct.h" #include <map> using namespace std ...
- mongodb安装 window
安装MongoDB 1.按照操作系统下载http://www.mongodb.org/downloads. 2.在D盘新建MongoDB文件夹(此文件夹为自定义的数据库安装目录D:\MongoDB)把 ...
- 淘宝(阿里百川)手机客户端开发日记第十一篇 JSP+Servlet
由于本人从事.net开发已有多年经验,今天由于工作需要,我只能学习下JSP+Servlet,至于java web提供了更好的开发框架MVC,现在由于时间关系,我只好用JSP+Servlet来搭建服务器 ...
- 使用srvany.exe将任何程序作为Windows服务运行
使用srvany.exe将任何程序作为Windows服务运行 2011 年 3 月 7 日 !本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使 ...
- 转:TopN推荐系统——推荐的实现与推荐效果的评价指标
转自:用户推荐系统_python 代码-豆瓣书籍:项亮的<推荐系统实践> import random import math class UserBasedCF: def __init__ ...