logo资料库

springboot用户注册、找回密码的邮箱验证码存入redis,三分钟有效.pdf

第1页 / 共1页
资料共1页,全文预览结束
用户注册、找回密码的邮箱验证码存入redis,三,三 springboot用户注册、找回密码的邮箱验证码存入 分钟有效 分钟有效 首先配置redis,笔者使用 1.首先配置 ,笔者使用stringRedisTemplate 可以查看我的上一篇博客,springboot配置stringRedisTemplate 2.用户注册和找回密码都是通过邮箱来实现的 用户注册和找回密码都是通过邮箱来实现的 所以要配置邮箱可以正常发送邮件,详情清看:SpringBoot使用JavaMailSender发送邮件 3.使用随机数生成四位随机数,当作验证码,并且设置失效时间为三分钟, 使用随机数生成四位随机数,当作验证码,并且设置失效时间为三分钟, String emailReg = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"; Pattern pattern = Pattern.compile(emailReg); Matcher matcher = pattern.matcher(email); if(matcher.find()){ //验证邮箱格式是否正确 String code = String.valueOf((int)((Math.random()*9+1)*1000)); //四位随机数验证码 //向redis里存入数据和设置缓存时间 redisTemplate.opsForValue().set(email, code, 60 * 3, TimeUnit.SECONDS); try { emailService.sendEmail("123456***@163.com",email,"验证码",code); data.put("code","success"); data.put("msg","验证码发送成功,三分钟有效,请注意查收!"); } catch (Exception e) { e.printStackTrace(); data.put("code","error"); data.put("msg","无法发送邮件,请稍后重试!"); } }else { data.put("code","error"); data.put("msg","邮箱格式不正确!"); } 作者:hahakaka321
分享到:
收藏