2012-07-17 92 views
1

我正尝试使用JavaMail在特定文件夹中访问我的IMAP电子邮件来实现一个小工具。然后通知这些文件夹中是否有新电子邮件。我不一定对知道未读消息感兴趣。由于邮件可能已被读取(在共享邮箱方案中),但对我而言可能还是新手。使用Java检查新的IMAP邮件

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

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

回答

1

铸造为IMAPFolder并使用getMessagesByUID(long start, long end)LASTUID

0

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

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

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