利用邮箱获取验证码

前端代码

   function fn(){      //发送邮箱从而获取验证码,  这里利用了闭包达到了节流的目的var flag=truereturn function(){if(flag) {var count = 60this.value = count + "秒后重新获取"fetch('/user/varification?email=' + email.value)  //将输入框中的邮箱发送过去flag=falsethat = thisvar 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);      //开始发送}

本文链接:https://my.lmcjl.com/post/19255.html

展开阅读全文

4 评论

留下您的评论.