【发布时间】:2011-06-27 13:54:58
【问题描述】:
以前从未使用过 Java 邮件。
在我的 JSF Web 应用程序中,我有一个实体 (followUp),其属性 private Date checkDate; 对应于一个 Animal 实体。 (一个Animal有很多后续记录)。否则:
用户必须每 3 个月在 {followUp} 中创建一个新记录并将其标记为已检查,并提供他的操作日期,即“checkDate”。但由于用户如此懒惰,他只对少数 Animals 这样做。
因此,他实际上希望通过电子邮件收到超过 3 个月未检查的 Animals 的警报。
示例:我在 2011 年 1 月 1 日为动物“A”创建了一个 followUp 记录,然后大约在 2011 年 1 月 4 日,用户收到一封电子邮件,提醒他去检查动物 B 的后续情况。
Web 应用程序正在本地企业网络上运行。
我只知道sn-p:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
class SimpleMail {
public static void main(String[] args) throws Exception{
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "mymail.server.org");
props.setProperty("mail.user", "emailuser");
props.setProperty("mail.password", "");
Session mailSession = Session.getDefaultInstance(props, null);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setSubject("Testing javamail plain");
message.setContent("This is a test", "text/plain");
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("elvis@presley.org"));
transport.connect();
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
transport.close();
}
}
我是否应该为此创建一个 Servlet 过滤器、一个侦听器、一个应用程序范围的支持 bean?在 followUp 记录上循环并返回最后一条记录的 checkDate 并将其与今天日期进行比较的查询?
任何帮助都可以。问候。
【问题讨论】:
标签: jsf jakarta-ee jakarta-mail