通常我们怎么验证网站注册用户所填写的注册邮箱是否属于真实邮箱?

解决方案 »

  1.   

    通过页面上用户自己输的用户名和他注册此账号时的邮箱号,取到该用的对象 Java code
    String userName=request.getParameter("userName");
    String email=request.getgetParameter("email");
    User user=userManager.getUser("user",userName);
    //一个验证用户是否存在的方法
    if(user!=null){
        if(email.equals(user.getEmail())){
         String content="邮件内容的提示信息";
         /**用于重置密码的一个URL,这里链接时,你可以吧user用自己的加密方法加密成一段字符串**/
         String url="http://www.xx.com/xx/admin.do?method=createPass&userName="+加密方法(userName);
         sendMail.send(from,to,"邮件标题",url);/**自己封装一个发邮件的方法**/
       }
    }然后再写一个方法,就是当用户打开自己邮箱,看到那个连接,然后重置密码的方法 Java code
    public ActionForward createPass(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response){
            String username=EncryptAndDecrypt.parseCode(request.getParameter("username"));
                    
            User user=new User();
            user=userManager.findBy("username",username).get(0);
            
            if(username.equals(user.getUsername())){
                                try {
                        userManager.updateUserPassword(user,passwordEncoder.encodePassword("123456",null));    
                        response.sendRedirect("../Login.jsp");
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    return null;        }                
            return mapping.findForward("fail");        
        }
    [/code]
      

  2.   

      支持用struts验证,思路是这么的,分步进行注册,先让用户填写注册表单,再写代码往其邮箱里发验证码,让其激活,当其激活后转到注册成功页面.我们做的多半都是这么个流程,可参考下