根据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/