首页 > 解决方案 > 如何在每天结束时自动从 Spring Boot 应用程序发送电子邮件?

问题描述

我想开始一个新项目,应用程序每天结束时都会向我发送一封电子邮件,但我不知道如何开始。如果有人能告诉我要使用什么以及如何配置应用程序以每天自动发送电子邮件以开始我的应用程序,我会在遇到错误时提出技术问题:D

标签: spring-bootemailjakarta-mailjobs

解决方案


您需要在 Spring Boot 应用程序中使用 Scheduler 来安排您的电子邮件任务。Spring Framework 分别使用 TaskExecutor 和 TaskScheduler 接口为异步执行和调度任务提供抽象。更多细节

例子”

@Component
    public class MailScheduler {    

        @Scheduled(cron = "0 0 12 * * ?")
        public void sendMail() {
               // Your mail logic will go here
              System.out.println("Scheduled task running");

        }
    }

这里 cron = "0 0 12 * * ?" , 表示此任务将在每晚 12 点执行

您可以根据您的要求对其进行自定义,以下是构建 cron 表达式的组件的细分。

  • 秒的值可以是 0-59 或特殊字符 -*/。

  • 分钟的值可以是 0-59 或特殊字符 -*/。

  • 小时的值可以是 0-59 或特殊字符 -*/。

  • 月份中的日期可以有值 1-31 或特殊字符 -* ? / LWC 。

  • 月份的值可以是 1-12、JAN-DEC 或特殊字符 - * / 。

  • 星期几可以有值 1-7、SUN-SAT 或特殊字符 - * ?/LC#。

  • 年份可以为空,值为 1970-2099 或特殊字符 - * / 。

您还可以根据以下在线 ui 工具生成 cron:


推荐阅读