使用Java检查新的IMAP邮件

使用Java检查新的IMAP邮件,java,imap,jakarta-mail,Java,Imap,Jakarta Mail,我正在尝试使用JavaMail实现一个小工具,以访问特定文件夹中的IMAP电子邮件。然后通知这些文件夹中是否有新电子邮件。我不一定只对了解未读邮件感兴趣。因为邮件可能已被读取(在共享邮箱场景中),但对我来说可能仍然是新的 我正在考虑读取文件夹并存储最新消息的UID。然后在下次检查时比较该UID。但是,我在Javamail文档中找不到任何关于如何查找最新消息的信息,而不查看整个消息列表并按日期和/或消息编号排序 有没有更好的方法来了解新消息?有没有一种简单的方法可以告诉JavaMail我只想要文件

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

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


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

将getMessagesById(long start,long end)和
LASTUID
转换为an并使用
getMessagesById(long start,long end)
LASTUID
JavaMail API有一些搜索机制。您可以搜索收件箱文件夹,如:

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

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

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

Message messages[] = inbox.search(new FlagTerm(new Flags(Flag.RECENT), true));
它只在收件箱中提供未读邮件