java - 使用 JavaMail 在超过截止日期时自动向用户发送电子邮件

标签 java mysql jakarta-mail

我有一个ISSUEBOOK数据库(mysql)包含以下字段/列

  • 登录ID
  • 发布日期
  • 截止日期

现在我需要实现 JAVA代码应该 automatically向超过截止日期的用户发送邮件。

有关用户电子邮件地址的信息可以从 STUDENTACCOUNT 检索使用其登录 ID 的数据库。

所以请帮助我提供伪代码/算法来实现这一目标。我使用的是Struts 1.3.8框架。

如果我想在固定时间定期运行上述实现的代码,那么如果我是正确的,我必须实现 quartz scheduler

最佳答案

您的问题涵盖了太多主题(设计、算法和程序),无法得到明确的答案。请访问https://stackoverflow.com/faq )

您不必使用“quartz”调度程序,但它是简单且有用的调度程序之一(我们使用它)。 cron/at 对于你的情况来说就足够了。

实现调度程序后,将作业安排在每天的固定时间(除非用户位于多个时区,否则每小时运行一次没有意义。作业应检查是否有任何记录(来自 ISSUEBOOK )以及到期时间日期早于当前时间。

以下查询可以给出获取的粗略想法

select user.email from STUDENTACCOUNT   user, ISSUEBOOK rentals
where  user.<id> = rentals.loginid --assuming a foreign key 
and   rentals.duedate < now  -- mysql built in function

获取唯一记录,然后发送邮件。

请开展该项目并提出具体问题。

关于java - 使用 JavaMail 在超过截止日期时自动向用户发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235422/

相关文章:

java - 每个具有不同 ID 名称的类继承的 JPA 表

java - 由于 Maven 下载问题,重置 java 认证(在 Linux 上)

php - 如何使用多个表来创建用户配置文件?

mysql - 确保表条目是唯一的

java - 当我尝试使用调度程序自动发送邮件时,默认 session 的访问被拒绝

JAVAFX缩放,在ScrollPane中滚动

java - 为什么 stopService(Intent) 和 stopSelf() 方法不会停止我的独特服务?

php - 需要帮助来构建 codeigniter 数据库查询

java - 如何使用Javamail仅检索40-50封电子邮件(例如Gmail)?

JavaMail mail.smtp.ssl.enable 不工作