Javamail:FetchProfile可以用于搜索邮件而不是仅仅获取邮件吗?

Javamail:FetchProfile可以用于搜索邮件而不是仅仅获取邮件吗?,java,imap,jakarta-mail,Java,Imap,Jakarta Mail,根据, 但是,如果我想使用search()只获取已读消息,我没有办法指定FetchProfile(因为search()不接受这样的参数) 还有别的办法吗 事先非常感谢。我不相信你能做到 在这种情况下,JavaMail镜像了底层的IMAP命令——首先找出您感兴趣的消息集,然后通过单独的命令获取这些消息上的数据。没有办法强制IMAP服务器从搜索命令返回FetchProfile样式的数据,JavaMail只是符合IMAP关于何时返回的约束 Message[] msgs = folder.getMess

根据,

但是,如果我想使用search()只获取已读消息,我没有办法指定FetchProfile(因为search()不接受这样的参数)

还有别的办法吗


事先非常感谢。

我不相信你能做到

在这种情况下,JavaMail镜像了底层的IMAP命令——首先找出您感兴趣的消息集,然后通过单独的命令获取这些消息上的数据。没有办法强制IMAP服务器从搜索命令返回FetchProfile样式的数据,JavaMail只是符合IMAP关于何时返回的约束

Message[] msgs = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
folder.fetch(msgs, fp);
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 ??