Java jdbc+servlet+jsp qq邮箱获取验证码

Java jdbc+servlet+jsp

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:servlet+jsp+jdbc

作者:LYG

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

public class MailUtil{
	private String strfrom = "1234567@qq.com";// 发件人的电子邮件
	private String password="bibffrqhfddqbeba";//授权码
	
	/**
	 * 设置简单的发送内容
	 * @param 收件人的电子邮件
	 * @return
	 */
	@SuppressWarnings("finally")
	public boolean mail1(String strto1,HttpServletRequest request,HttpServletResponse response){
		   boolean status=false;
		   String title="韩国唯丝普注册";//标题
		   String randomNum=RandomNumberUtil.getRandonString(4);
		   HttpSession session1=request.getSession(true);
		   session1.setAttribute("randomNum", randomNum);
		   session1.setMaxInactiveInterval(60);//second
		   String content="你好,您正在注册韩国唯丝普,验证码为";// 内容
		   String content2=" (该验证码在60秒内有效,60秒后需要重新获取)";
		   try {
			   Properties props = new Properties();
			   //开启ssl加密,如果没有ssl加密,会报530错误
			   MailSSLSocketFactory sf = new MailSSLSocketFactory();
			   sf.setTrustAllHosts(true);
			   props.put("mail.smtp.ssl.enable", "true");
			   props.put("mail.smtp.ssl.socketFactory", sf);
//			   props.put("mail.smtp.port", "587");
			   
			   props.setProperty("mail.smtp.auth", "true");//必须 普通客户端
			   props.setProperty("mail.transport.protocol", "smtp");//必须选择协议
			   Session session = Session.getDefaultInstance(props);
			   session.setDebug(true);//设置debug模式   在控制台看到交互信息
			   Message msg = new MimeMessage(session);  //建立一个要发送的信息
			   msg.setSubject(title);
			  // msg.setText(content);
			   msg.setContent(content+"<a href='javascript:void(0);'>"+randomNum+"</a>"+content2, "text/html;charset=gbk");
			   msg.setFrom(new InternetAddress(strfrom));//发件人邮箱号
			   Transport transport = session.getTransport();//发送信息的工具
			   transport.connect("smtp.qq.com", 465, strfrom, password);//发件人邮箱号 和密码
			   transport.sendMessage(msg, new Address[] { new InternetAddress(strto1) });//对方的地址
			   transport.close();
			   status=true;
		} catch (MessagingException e) {
			e.printStackTrace();
		} catch (GeneralSecurityException e) {
			e.printStackTrace();
		}  finally{
			return status;
		}   
	}
//登录验证
public void loginClient(HttpServletRequest request,HttpServletResponse response){
		String status="false";
		try {
			String postbox=request.getParameter("postbox").trim();
			String name=request.getParameter("name");
			String age=request.getParameter("age");
			String sex=request.getParameter("sex");
			String identify_code=request.getParameter("identify_code");
			Integer sex_id=2;
			if(Integer.parseInt(sex)==1){sex_id=1;}
			String token=request.getParameter("token");
			//session
			String sessiontoken=(String) request.getSession().getAttribute("clientToken");
			if (token!=null && token.equals(sessiontoken)) {
				request.getSession().removeAttribute("clientToken");
				if(Tools.isNotNull(postbox) && Tools.isNotNull(name) && Tools.isNotNull(age) && Tools.isNotNull(identify_code)){
					if(Tools.isTelephone(postbox) || Tools.isEmail(postbox)){
						String sessionrandomNum="";
						if(request.getSession().getAttribute("randomNum")!="" && request.getSession().getAttribute("randomNum")!=null){
							sessionrandomNum=(String) request.getSession().getAttribute("randomNum");
							sessionrandomNum=sessionrandomNum.toUpperCase();//大写  小写toLowerCase
						}
						
						identify_code=identify_code.toUpperCase();
						//if(sessionrandomNum.equals(identify_code)){ //获取qq邮箱判断是否正确
							request.getSession().removeAttribute("clientToken");
							ICustomerService  iCustomerService=new CustomerServiceImpl();
							CustomerPo customerPo=iCustomerService.login(postbox,name);
							if(customerPo!=null){
								if(customerPo.getName().equals(name.toString()) &&
										customerPo.getAge().equals(Integer.parseInt(age)) &&
										customerPo.getSex_id().equals(sex_id)){
									  if(SessionListener.isLoginUser(name)){//判断此用户名是否在监听器的map集合中,在则表明该用户已登录
							                status="您已在其他地方登录!";
							            }else{
							            	request.getSession().setAttribute("dbCustomer", customerPo);
							            	request.getSession().setAttribute("user", name);
											status="true";
							            }
								}else{
									status="输入的信息有误!";
								}
							}else{//新增当前用户,为临时用户
								status="没有该用户信息!";
							}
						/*}else{
							status="验证码错误,请重新获取!";
						}*/
					}else{
						status="输入的邮箱/电话有误!";
					}
				}else{
					status="请输入完整的信息!";
				}
			
			}else{
				status="请勿重复提交!";
			}
			request.getSession().removeAttribute("randomNum");
			request.getSession().setAttribute("strMsg", status);
			request.getRequestDispatcher("/jsp-client/main.jsp").forward(request, response);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

效果

QQ邮箱获取QQ邮箱验证码 先进入官方网站申诉,申诉成功会发送验证码给你,打开与你QQ绑定的邮箱,查看新邮件,就会出现验证码了。 当你的QQ不在线或设置没有弹窗提醒,你可以通过QQ面板的邮箱快捷按钮进入邮箱,进入后可以点击未读邮件或收件箱查找验证邮件

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值