我正在尝试使用JavaMail实现一个小工具来访问特定文件夹中的IMAP电子邮件。然后通知这些文件夹中是否有新电子邮件。我不一定对了解未读消息感兴趣。由于消息可能已被读取(在共享邮箱方案中),但对我来说可能仍然是新的。
我正在考虑阅读文件夹并存储最新消息的UID。然后在下次检查时比较该UID。但是,我无法在Javamail文档中找到有关如何查找最新消息的任何信息,而无需通过整个消息列表并按日期和/或消息编号进行排序。
有没有更好的方法来了解新消息?是否有一种简单的方法来告诉JavaMail我只想要文件夹中的最新消息?
答案 0 :(得分:1)
转换为IMAPFolder
并使用getMessagesByUID(long start, long end)
和LASTUID
。
答案 1 :(得分:0)
JavaMail API有一些搜索机制。您可以搜索收件箱文件夹,如:
Message messages[] = inbox.search(new FlagTerm(new Flags(Flag.RECENT), true));
它只在收件箱中提供未读邮件。