Javamail从特定发件人处获取所有电子邮件

Sol*_*ley 1 java pop3 imap jakarta-mail

在java中,我需要从特定的发件人那里获取所有电子邮件.有几种方法可以做到这一点,如下所示:http://www.codejava.net/java-ee/javamail/using-javamail-for-searching-e-mail-messages

但是我需要在gmail端完成这个过程.我阅读所有电子邮件然后决定应该继续哪一封电子邮件是不对的.

另外在http://alvinalexander.com/java/javamail-multiple-search-terms-pop3-mailbox-yahoo中你可以搜索它很棒的邮件正文,但是发件人(FROM部分)呢?我该如何过滤它?

每次阅读所有电子邮件都不利于我们的带宽(当然,我们可以标记上次阅读的电子邮件,并以某种方式阅读所有新电子邮件,例如使用UIDFolder)

谢谢

Sol*_*ley 6

我自己发现了:)

Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);

SearchTerm sender = new FromTerm(new InternetAddress("from@example.com"));
Message[] messages = inbox.search(sender);

for (int i = 1; i < messages.length; i++) {
    read_message(messages[i]);
}
Run Code Online (Sandbox Code Playgroud)

我只需要添加FromTerm!