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);
    }
}

直接开启:如下表示测试成功:

 

 

                         这是一个小小的技巧  学习到了这招 我们就可以利用到自己的项目中设置定时邮件的任务

                                      小白加油!!!!!!!!!

posted @ 2021-03-11 22:44  小杰i  阅读(683)  评论(0编辑  收藏  举报