jakarta-mail - 使用 javax.mail 在 java 中读取指定日期和时间后收件箱中的所有电子邮件

标签 jakarta-mail

现在我可以使用java阅读所有未读电子邮件,但我需要使用JAVAX.Mail(即javax.mail.jar)阅读指定日期和时间后的所有电子邮件,请帮助我检索所有电子邮件在指定的日期和时间之后使用 java(例如 2013 年 7 月 12 日下午 1 点)。 我的阅读邮件代码:

Properties prop = System.getProperties();
prop.getProperty("mail.store.protocol", "imaps");
Session session = Session.getDefaultInstance(prop, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="462b3f012b272f2a0f2206212b272f2a6825292b" rel="noreferrer noopener nofollow">[email protected]</a>", "mypassword");
inbox = store.getFolder("Inbox");

最佳答案

以下是取自 javax.mail.Message trying to fetch messages for a given date range 的一个示例

cal.add(Calendar.DAY_OF_MONTH, -1);

// We would get the bounce mails received yesterday

ReceivedDateTerm term  = new ReceivedDateTerm(ComparisonTerm.EQ,newDate(cal.getTimeInMillis()));

Message[] messages = folder.search(term)

使用术语的另一种方法可能是:

SearchTerm olderThan = new ReceivedDateTerm(ComparisonTerm.LT, someFutureDate);
SearchTerm newerThan = new ReceivedDateTerm(ComparisonTerm.GT, somePastDate);
SearchTerm andTerm = new AndTerm(olderThan, newerThan);
inbox.search(andTerm);

关于jakarta-mail - 使用 javax.mail 在 java 中读取指定日期和时间后收件箱中的所有电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18608970/

相关文章:

java - MimeMessageHelper 无法使用 JavaMail 发送同一文件的两个附件?

java - 发送附件时不显示正文消息

java - 安装 Avast Anti Virus 后 javax.mail 中的邮件同步失败

osgi - 将 JavaMail 1.5 与 XPage 结合使用

java - 我们如何在JAVA中将html中使用的图像作为电子邮件的附件发送?

按 ReceivedDate 搜索 JavaMail,不能精确到秒?

JavaMail 通过具有 SSO 身份验证的 Exchange 服务器

java - 最后捕获或返回实例或空引用

java - 无法打开带有附件的 Outlook

java - 如何在java邮件的电子邮件主题行中包含英镑符号