1

我正在编写一个从 IMAP 服务器同步电子邮件(仅限收件箱)的应用程序。为此,我正在使用 javamail,但我遇到了性能问题。当我想刷新我的电子邮件时,我会在收件箱中获取所有消息,这需要几分钟。:( 所以我只想获取自上次刷新电子邮件以来修改过的消息。我发现了如何获取自某个日期以来接收或发送的消息,但我想做的略有不同。可以更改非常旧的消息的状态(未读到已读)。在这种情况下,修改日期是最近的,但接收或发送日期是旧的。

任何的想法 ?

问候,昆汀

4

1 回答 1

0

您无法更改旧邮件的内容,但可以更改标志。您可以获取所有消息的所有标志并将它们与标志的缓存副本进行比较。(有 IMAP 扩展对此有所帮助,但许多 IMAP 服务器不支持它们,JavaMail 也不支持它们。)

使用 Folder.fetch 方法在一个操作中获取所有标志,然后遍历 Message 对象并比较标志。

于 2012-08-07T17:43:15.513 回答