spring-boot - 如何在每天结束时自动从 Spring Boot 应用程序发送电子邮件?
问题描述
我想开始一个新项目,应用程序每天结束时都会向我发送一封电子邮件,但我不知道如何开始。如果有人能告诉我要使用什么以及如何配置应用程序以每天自动发送电子邮件以开始我的应用程序,我会在遇到错误时提出技术问题:D
解决方案
您需要在 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:
推荐阅读
- python - 异步在主线程中运行
- dax - 将日期列与 dax 中的今天日期进行比较,我没有按要求获得正确的输出
- javascript - Javascript Regex:查找并删除重复少于一定次数的字母
- r - 如何删除R中列表元素中的重复值
- python - Python 打包:在 pyproject.toml VS setup_requires 中构建需求
- javascript - React Native Autocomplete 输入错误:对象作为反应子项无效(找到:带键的对象)
- c# - .net core 5 中的 MessageBox
- r - 计算一个数据框中的列中某个因子的出现次数并在另一个数据框中输出
- powershell - Do/Until 循环询问两次
- php - 在本机浏览器播放器中流式传输 mp3 文件