前端代码
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 评论