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","邮箱格式不正确!");
}