Javamail 获取来自特定发件人的所有电子邮件

标签 java jakarta-mail imap pop3

在 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 一样)

谢谢

最佳答案

我自己找到的:)

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]);
}

我只需要添加 FromTerm!

关于Javamail 获取来自特定发件人的所有电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25429981/

相关文章:

java - 原型(prototype) bean spring 的旧实例

java与ms access不显示数据库结果

java - 使用 DrJava 通过管道(从文本文件重定向输入)到 Java 程序

Spring 邮件禁用 TLS

java - 使用 javamail 向 hotmail 发送电子邮件时遇到问题

java - 如何从 Java 应用程序访问我的 Gmail 电子邮件?

java - 使用 Jackson 将 Java 列表序列化为 XML 和 JSON

java - 使用 GMailSender 从 Android 应用程序发送带有附件的电子邮件在 Transport.send 处失败

gmail - 如何查找其他语言的 Gmail 邮箱

c++ - 需要用 C++ 检查 Exchange 服务器的收件箱