Ben*_*n H 7 search gmail jakarta-mail
我想我遗漏了一些关于如何在 JavaMail 中搜索的信息。
这有效。但是——为什么要这样做?如果我使用 javamail 连接到诸如 gmail 之类的东西,则搜索不会在服务器端执行,而且使用整个 javax.mail.search.SearchTerm 构造似乎没有任何优势提高效率或减少需要通过网络发送的数据量...
我没有看到任何在服务器端执行搜索并返回匹配列表的方法。有任何想法吗?
编辑:包括我现在正在做的伪代码,它不会在服务器端执行任何搜索。即使我将其转换为使用SearchTerm,它仍然不会在服务器端做任何事情,对吗?
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "gimaps");
final Session session = Session.getDefaultInstance(props, null);
final GmailSSLStore store = (GmailSSLStore) session.getStore("gimaps");
store.connect(ADDRESS, PASSWORD);
final GmailFolder allMailFolder = (GmailFolder) store.getFolder("[Gmail]/All Mail");
allMailFolder.open(Folder.READ_ONLY);
final Message[] allMessages = allMailFolder.getMessages();
System.out.println("Messages:" + allMessages.length);
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
allMailFolder.fetch(allMessages, fp);
for (final Message message : allMessages) {
final Address[] addrs = message.getFrom();
if (addrs != null) {
for (final Address addr : addrs) {
if (addr.toString().toLowerCase().contains("george")) {
System.out.println(addr.toString());
}
}
}
}
Run Code Online (Sandbox Code Playgroud)