在我的应用中,需要扫描电子邮件帐户中的所有电子邮件,并使用电子邮件发送日期的特殊时间过滤它们。 但是在javamail中,每个消息的发送日期都不会在客户端缓存,当你需要它时,你必须从服务器中提取它,这需要花费太多时间。 我已经尝试过FetchProfile:
msgs = folder.getMessages(beginLine, endLine);
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
folder.fetch(msgs, fp);
但它只是简单地从服务器中逐个拉出标头。
所以,我想知道,有什么办法,当我使用folder.getMessages()
时,服务器可以返回带有消息的发送日期/标题吗? THX!
并且,我使用pop3和imap,imap更容易,但我不能只使用imap,因为我可以决定电子邮件帐户使用哪种协议。