注册邮箱接收验证码小结

**

一般情况,我们在注册时会用到手机验证或者邮箱验证等,在这里再次将邮箱验证总结一下:

**

环境:jquery+ssm 请根据相对应的环境更改
这里是maven工程 所以急需要在pom.xml文件中添加依赖
需要的依赖包名: commons-email

前台.html中

<input type="text"  name="telephone" id="j_Email" maxlength="20" placeholder="输入您的Email" />
<input type="text" class="verification inputlight " id="j_msgcode" name="megnum" placeholder="邮箱验证码"  maxlength="6" />
  <a  class="botton" id="j_message">获取验证码</a>
<a  class="botton" id="j_submit">核对Email验证码</a></li>

在我们点击 获取验证码 填写的 email 会收到6位数字
前提是 已经设置好了 email , email的具体设置在 文章下面会具体的告诉,往下看

<script>
         $(function(){
		         //验证码获取
		        $("#j_message").click(function () {
		             var email = $("#j_Email").val();
		             sessionStorage.setItem("email",email);
		             $.post("/email",{"email":email},function (data) {
							if(data=="ok"){
								alter("验证码已经发送,请查看");
							}else{
							alter("验证码发送失败,请核对电子邮箱");
							}
					});
          	  });
          })
    </script>

在controller 中

/**
     * 生成验证码
     * @param email
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping("/email")
    public String email(String email, HttpServletRequest request){
        Random random=new Random();
        String s="";
        for (int i=0;i<6;i++){
            int i1 = random.nextInt(10);
            s+=i1;
        }
        System.out.println(s);
        request.getSession().setAttribute("code",s);
        HtmlEmail em=new HtmlEmail();//创建一个HtmlEmail实例对象
        em.setHostName("smtp.163.com");//邮箱的SMTP服务器
        em.setCharset("utf-8");//设置发送的字符类型
        try {
            em.addTo(email);
            em.setFrom("********@163.com","邮箱表头");// 前面时邮箱  后面是 email 表头 比如***公司
            em.setAuthentication("********@163.com","password");//设置发送人的邮箱和用户名和授权码(授权码是自己设置的)
            em.setSubject("***公司-验证码");//设置发送主题
            em.setMsg(s);
            em.send();
        } catch (EmailException e) {
            e.printStackTrace();
        }
        return "ok";
    }

当接收到电子邮箱后 输入 并且点击核对验证码
需要核对 是否宇发送的电子邮箱一致
*.html页面代码

 $("#j_submit").click(function () {
                var code = $("#j_msgcode").val();
                
                $.post("/codeHandle",{"code":code},function (data) {
                    if (data=="1"){
                        location.href="需要跳转的页面";
                    } else {
                       alter(输入的验证码有误;请重新输入);
                    }
                })
   })

在controller中核对验证码

/**
     * 核对验证码
     * @param code 验证码
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping("/codeHandle")
    public String codeHandle(String code,HttpServletRequest request){
        Object code1 = request.getSession().getAttribute("code");
        if (code.equals(code1)){
                
            return "1";
        }else {
            return "0";
        }
    }

可以说复制上面的代码就可以实现 ,只需要把自己的email 相对应的设置好 就好了,分享就到这了,有什么看不懂的就私聊把。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值