根据http://java.sun.com/products/javamail/javadocs/javax/mail/FetchProfile.html

Message[] msgs = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
folder.fetch(msgs, fp);

但是,如果我只想通过使用search()获得读取的消息,则没有指定FetchProfile的方法(因为search()没有这样的参数)。
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_WRITE);
FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
Message messages[] = inbox.search(ft); //how to specify a FetchProfile here ??

还有另一种方法吗?

非常感谢。

最佳答案

我不相信你可以。

在此,JavaMail镜像了基本的IMAP命令-首先找出您感兴趣的消息集,然后通过单独的命令获取这些消息上的数据。无法强迫IMAP服务器从SEARCH命令返回FetchProfile样式的数据,而JavaMail仅符合IMAP对何时返回的约束。

关于java - Javamail:搜索邮件时可以使用FetchProfile而不是仅获取它们吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3550807/

10-09 03:56