Javamail从特定发件人获取所有电子邮件 - Stack Overflow

时间:2018-06-18 14:16:53

标签: java javamail

我正在尝试从特定发件人那里获取所有电子邮件,例如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();

但这不可行。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

POP3协议不支持服务器端搜索。所有消息的所有标头都将下载到客户端并在客户端搜索,就像您自己要做的一样。不过,如果您有来自该发件人的消息,我希望它能正常工作。 JavaMail debug output将显示是否确实有来自该发件人的消息。

仍然更简单,更好的解决方案是仅切换到IMAP并让服务器进行搜索。