------------恢复内容开始------------
一.springboot发送消息到邮箱并设置60秒有效时长(存到redis里面)
导入两个依赖:
<!--邮箱-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!--reids-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
前端页面:
<!DOCTYPE html>
<html xmlns:>
<!-- Head -->
<head>
<title>注册页面</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="application/x-javascript"> addEventListener("load", function () {
setTimeout(hideURLbar, 0);
}, false);
function hideURLbar() {
window.scrollTo(0, 1);
} </script>
<link rel="stylesheet" href="css/loginRegister.css" type="text/css" media="all">
</head>
<body>
<h1>springboot学习系统</h1>
<div class="container">
<div class="login">
<h2>员工登录</h2>
<div class="form">
<input type="text" placeholder="请输入公司邮箱" v-model="email">
<button class="sendCode" @click="sendCheckCode">发送验证码</button>
<input type="text" placeholder="密码" >
<button class="loginBtn">登录</button>
</div>
</div>
</div>
<script src="./js/vue.min.js"></script>
<script src="./js/axios.min.js"></script>
</body>
<script>
new Vue({
el:".login",
data:{
email:"1136403002@qq.com"
},
methods:{
sendCheckCode(){
// console.log("蛋妞点击")
axios.get("sendEmailCode?email="+this.email)
}
}
})
</script>
</html>
controller
@RestController public class EmailController { // 与component注解共同使用 @Autowired private EmailService emailService; @Autowired private JavaMailSender javaMailSender; @Autowired private StringRedisTemplate stringRedisTemplate; @RequestMapping("sendEmailCode") public String sendEmailCode(String email){ String code="1346"; SimpleMailMessage simpleMailMessage=new SimpleMailMessage(); simpleMailMessage.setFrom("验证码,请查收<18859986862@163.com>"); simpleMailMessage.setSubject("验证码"); simpleMailMessage.setText(code); simpleMailMessage.setTo(email); stringRedisTemplate.opsForValue().set("redis_key_"+email,code,60,TimeUnit.SECONDS); javaMailSender.send(simpleMailMessage); return "success"; } }
部分配置:
mail:
host: smtp.163.com
username:
password:
default-encoding: utf-8
redis:
database: 1
跳转config:(实现一进去就跳到login.xml)
package stu.adam.springmybaitsgen.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class MVCConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addRedirectViewController("/","login.html"); } }
效果:(redis数据库的东西将在一分钟后消失)

二. 前端点击登入发送验证码

三.异步任务(解决发送的速度慢的问题)


方法抽取:


默认线程池大小是八个
补充:线程池配置:
可用属性:
\
浙公网安备 33010602011771号