Springbootのユーザー登録、パスワード再設定のメール確認コードはredisに保存され、3分間有効

1.最初にredisを設定します。作成者はstringRedisTemplateを使用します

私の以前のブログ、springboot configuration stringRedisTemplateを確認できます

2.ユーザー登録とパスワードの取得はすべてメールで行われます

したがって、メールを通常どおり送信するようにメールボックスを構成する必要があります。詳細を参照してください。SpringBootはJavaMailSenderを使用してメールを送信します

3.乱数を使用して、4桁の乱数を確認コードとして生成し、有効期限を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","邮箱格式不正确!");
        }
元の記事を25件公開しました 賞賛されました4 訪問1515

おすすめ

転載: blog.csdn.net/weixin_39025362/article/details/105528813