0

我正在使用Javamail库通过 IMAP 从多个服务器获取电子邮件。我只关心未读消息,我只想下载最后收到的 5 条未读消息。

为了过滤文件夹中的消息,我使用了传递值为 falseFolder.search(FlagTerm ft)的标志的方法,如下面的代码所示:SEEN

FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
Message[] messages = folder.search(ft);

我需要减少带宽使用,上述方法可能会返回任意数量的消息。我只对最后 5 个感兴趣,有没有办法让 IMAP 服务器返回有限数量的消息?

4

1 回答 1

0

您可以搜索消息的子集,有效地设置返回消息数量的上限,但您可能需要进行多次搜索。如果您正在搜索所有消息,则没有直接的方法来限制返回的结果数量。

请注意,搜索结果相对紧凑(实际上只有消息编号),因此除非您搜索大量消息,否则我认为带宽不会成为与获取消息内容相关的问题。

于 2013-09-23T19:50:41.900 回答