1

我正在尝试使用 JavaMail 实现一个小工具来访问特定文件夹中的 IMAP 电子邮件。然后通知这些文件夹中是否有新电子邮件。我不一定只对了解未读消息感兴趣。由于消息可能已被阅读(在共享邮箱场景中),但对我来说可能仍然是新的。

我正在考虑读取文件夹并存储最新消息的 UID。然后在我下次检查时比较该 UID。但是,我在 Javamail 文档中找不到任何关于如何在不查看整个邮件列表并按日期和/或邮件编号排序的情况下查找最新邮件的信息。

有没有更好的方法来了解新消息?有没有一种简单的方法可以告诉 JavaMail 我只想要文件夹中的最新消息?

4

2 回答 2

1

转换为 anIMAPFolder并使用getMessagesByUID(long start, long end)and LASTUID

于 2012-07-18T17:33:29.690 回答
0

JavaMail API 有一些搜索机制。您可以搜索收件箱文件夹,例如:

Message messages[] = inbox.search(new FlagTerm(new Flags(Flag.RECENT), true));

它仅在您的收件箱中提供未读邮件。

于 2012-07-19T10:49:58.903 回答