Jsp+Servlet实现邮箱注册功能
核心代码(直接复制)
1.需要炸包,email(去百度搜索,maven官网。搜索commons.mail,里面会有.jar包)
![在这里插入图片描述](https://img-/2012000316420.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4u
2QQ邮箱需要设置,获取授权码
温馨提示:下面这段核心代码是一个类:
import java.util.Random;
import mons.mail.EmailException;
import mons.mail.HtmlEmail;
public class Email {
//生成6位数 验证码public static String random1(){String code = "";Random rd=new Random();for (int i = 0; i < 6; i++) {int r = rd.nextInt(10); //每次随机出一个数字(0-9)code = code + r; //把每次随机出的数字拼在一起}System.out.println(code);return code;}//发送这里的参数为 qq 和验证码public static void test(String email,String yzm){HtmlEmail send = new HtmlEmail();//创建一个HtmlEmail实例对象// 获取随机验证码String resultCode = yzm;try {send.setHostName("");send.setAuthentication("XXX@", "vtpvtswydzamhjfb"); //第一个参数是发送者的QQEamil邮箱 第二个参数是刚刚获取的授权码send.setFrom("XXX@", "李同学");//发送人的邮箱为自己的,用户名可以随便填 记得是自己的邮箱不是qqsend.setSSLOnConnect(true); //开启SSL加密send.setCharset("utf-8");send.addTo(email+"@"); //设置收件人 email为你要发送给谁的邮箱账户 上方参数send.setSubject("校园零食销售网站"); //邮箱标题send.setMsg("注册的验证码"+yzm+" 请快点注册噢,30分钟后将会失效"); //Eamil发送的内容send.send(); //发送} catch (EmailException e) {e.printStackTrace();}}
}
我来教你怎么使用。
1思路分析:
服务器往客户端发验证码。
服务器需要用一个邮箱,(填写自己邮箱,用于向用户发验证码的作用)
send.setAuthentication(“XXX@”, “vtpvtswydzamhjfb”); //第一个参数是发送者的QQEamil邮箱 第二个参数是刚刚获取的授权码
2其它不用管:
创建一个html页面。把QQ号提交到Servlet里面
创建一个Servlet,在里面调用核心代码。
//QQ注册需要把QQ号提交到后台(Servlet里面)
String username=request.getparameter(“username”);//获取要注册的QQ号
Email email=new Email();
String yz=email.random1();//先获取类中自动生成的六位数验证码
email.test(username,yz);//调用发送邮箱方法
用户将会获取你的验证码,你也有验证码。你把接收到的用户验证码,和真正的验证码进行判断equals()是否相等,如果相等就是验证码正确,就可以往数据表插入信息,否则返回,使用转发(接下来就看你怎么设计了)
可以把验证码存储到数据库中,或者存储到Session推荐。
登录页面设计难点。
登录页面需要两个发送信息到后台的按钮。
第一个:发送验证码。使用ajax,把QQ传送到后台进行发送验证码。
第二个。把用户将要注册的QQ号和输入的验证码,传送到另一个Servlet里面,用于判断用户输入的验证码和session中是否正确。
HttpSession session = request.getSession(true);
session.setAttribute(“username”, username);//把user对象存到session中 以后每个页面中都可以取出来使用
String username= (String)session.getAttribute(“username”);//获取session中的验证码
只能帮你到这里了,这部分是最核心的代码,理解后,看你个人怎么好好利用了,邮箱找回密码也是同一个原理