利用邮箱获取验证码

前端代码


   function fn(){      //发送邮箱从而获取验证码,  这里利用了闭包达到了节流的目的
         var flag=true
         return function(){
                     if(flag) {
                    var count = 60
                    this.value = count + "秒后重新获取"
                    fetch('/user/varification?email=' + email.value)  //将输入框中的邮箱发送过去
                         flag=false
                    that = this
                    var timer = setInterval(function () {
                        if (count > 0) {
                            count--
                            that.value = count + "秒后重新获取"
                        } else {
                            clearInterval(timer)
                            that.value = "请重新获取"
                            flag=true
                        }
                    }, 1000)
                 }
         }
    }

 

 

后端代码


@GetMapper("/user/varification")
public void sendEmail(String email, HttpSession session) {          //生成验证码并通过邮箱发送
        // 自定义纯数字的验证码(随机4位数字,可重复)
        RandomGenerator randomGenerator = new RandomGenerator("0123456789", 6);
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100);
        lineCaptcha.setGenerator(randomGenerator);
        
        lineCaptcha.createCode();  // 重新生成字符串验证码

        String code=lineCaptcha.getCode();      //获取验证码
         System.out.println(code)       //打印结果"152463"
 
        session.setAttribute("varification",code);     //将验证码存放在session中,方便进行验证
                                              //可以设置session的存活事件
 

        //将验证码通过邮箱发送
        SimpleMailMessage ss=new SimpleMailMessage();
        ss.setFrom("3529742868@qq.com");           //这个表示定义发送人
        ss.setTo(email);                    //这个表示定义接收人
        ss.setSubject("验证码");          //这个表示定义标题
        ss.setText("");         //这个表示定义正文内容
        jms.send(ss);      //开始发送
    }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值