Java邮件-一起搜索和排序减少的电子邮件数量

Java邮件-一起搜索和排序减少的电子邮件数量,java,email,jakarta-mail,Java,Email,Jakarta Mail,我目前有一个巨大的问题,我需要帮助。 目前我没有一次加载所有电子邮件。 我在这里找到了它的以下函数: Message[] messages = emailFolder.getMessages(start, end); 我知道我可以使用Sorterm对电子邮件进行排序: SortTerm sortTerm[] = new SortTerm[] { SortTerm.REVERSE, SortTerm.DATE }; Message messages = ((IMAPFolder) emailFo

我目前有一个巨大的问题,我需要帮助。 目前我没有一次加载所有电子邮件。 我在这里找到了它的以下函数:

Message[] messages = emailFolder.getMessages(start, end);
我知道我可以使用Sorterm对电子邮件进行排序:

SortTerm sortTerm[] = new SortTerm[] { SortTerm.REVERSE, SortTerm.DATE };
Message messages = ((IMAPFolder) emailFolder).getSortedMessages(sortTerm);
但我会再次加载所有电子邮件。 如何一起使用: -搜寻 -分类 -并使用getMessages(开始、结束)

一个示例代码将非常有用


非常感谢

要清楚,在使用IMAP时,调用getMessages时不会“加载”任何消息。所发生的一切是,JavaMail客户端创建了一个消息对象,该对象引用服务器上的消息,并对其进行设置,以便当您请求消息时,该消息对象将在服务器上获取该消息的数据


您可以创建一个SearchTerm,它使用一对MessageNumberTerm将消息限制在某个范围内,就像您使用“开始,结束”一样。但你应该问问自己,你是否真的想先按邮件编号对邮箱中的所有邮件进行排序(实际上是按接收日期进行正向排序),然后再按发送日期进行反向排序。你到底想完成什么?

你说得对!我想我会加载比所有电子邮件都多的内容。对于我的场景,我从另一个类“Email”为我的演示视图创建一个新对象。我没有将数组限制为从演示视图中获得的“开始”和“结束”值。非常感谢你的邀请help@BillShannon似乎是((IMAPFolder)emailFolder)。getSortedMessages(Sorterm)不再工作了?“类型IMAPFolder的getSortedMessages(Sorterm[])方法未定义”我应该使用什么替代?