使用Java检查新的IMAP邮件

时间:2012-07-17 12:10:32

标签: java imap javamail

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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