Spring Boot中设置定时发送邮件任务
1:浅谈发送邮箱:
- 邮箱验证是一个很常见的功能了,基本上每个网站都会用的到,
- java也有专门的jar来处理邮件发送等服务
2:学过javaweb大家都对发送邮箱上不是很陌生了吧
- 但之前发送邮箱的步骤太繁琐了
- 所以Springboot也帮我们做了支持
那么让我们开启我们spring boot发送邮箱简单的一步吧:
第一步:导入spring-boot-start-mail依赖:
<!-- email --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
第二步:来配置application.properties文件:
spring.mail.username=1927545042@qq.com
spring.mail.password=你的qq授权码
spring.mail.host=smtp.qq.com
# qq需要配置ssl 其他的不需要
spring.mail.properties.mail.smtp.ssl.enable=true
qq授权码的获得步骤:
第一步:
第二步:点击账户找到:
第三步:获得授权码
然后我们在测试类SwggerApplicationTests中:
@Autowired JavaMailSenderImpl javaMailSender;//Spring官⽅提供的集成邮件服务的接⼝ public void timeyouxiang() { SimpleMailMessage message = new SimpleMailMessage(); message.setSubject("通知-这是邮箱的通知"); message.setText("有兴趣看看我以前的博客呀"); message.setText("我的博客网址是:https://www.cnblogs.com/yunjie0930/"); message.setTo("1927545042@qq.com"); message.setFrom("1927545042@qq.com"); javaMailSender.send(message); }
直接启动 如果邮箱收到了邮件即可成功:
1:那让我们来实现定时发送邮箱吧:
准备一个TimeMailbox类:在类中结合上面代码
@Component public class Time { //我们来格式化一下时间: static SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Autowired JavaMailSenderImpl javaMailSender;//spring提供的集成邮件服务的接口
// 可以作为一个触发源添加到一个方法中,来达到定时的任务 @Scheduled(cron = "*/5 * * * * ?")/*每隔六秒钟执行一次*/ public void timeyouxiang() { System.out.println("邮箱发送的时间:"+new Date()); SimpleMailMessage message = new SimpleMailMessage(); message.setSubject("通知-这是邮箱的通知"); message.setText("有兴趣看看我以前的博客呀"); message.setText("我的博客网址是:https://www.cnblogs.com/yunjie0930/"); message.setTo("1927545042@qq.com"); message.setFrom("1927545042@qq.com"); javaMailSender.send(message); } }
还有最重要的一步:我们需要在主程序上增加@EnableScheduling 开启定时任务功能:
@EnableScheduling //开启基于注解的定时任务 @SpringBootApplication public class SwggerApplication { public static void main(String[] args) { SpringApplication.run(SwggerApplication.class, args); } }
直接开启:如下表示测试成功:
这是一个小小的技巧 学习到了这招 我们就可以利用到自己的项目中设置定时邮件的任务
小白加油!!!!!!!!!