我正在尝试从特定发件人那里获取所有电子邮件,例如from @example.com,使用JavaMail
我试过了
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
SearchTerm sender = new FromTerm(new InternetAddress("from@example.com"));
Message[] messages = inbox.search(sender);`
但它没有给我任何邮件。因为我有来自此类发件人的多封电子邮件。
我知道我可以先通过我的INBOX阅读所有电子邮件,然后使用getFrom()
Message[] arrayMessages = folderInbox.getMessages();
但这不可行。
我该怎么做?
答案 0 :(得分:2)
POP3协议不支持服务器端搜索。所有消息的所有标头都将下载到客户端并在客户端搜索,就像您自己要做的一样。不过,如果您有来自该发件人的消息,我希望它能正常工作。 JavaMail debug output将显示是否确实有来自该发件人的消息。
仍然更简单,更好的解决方案是仅切换到IMAP并让服务器进行搜索。