当前位置: 首页 > 知识库问答 >
问题:

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

叶智
2023-03-14

在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你可以在邮件正文中搜索它的优点,但是发送者(来自部分)呢?我如何过滤它?

此外,每次阅读所有电子邮件对我们的带宽也没有好处(当然,我们可以标记上次阅读的电子邮件,并以某种方式阅读所有新电子邮件,就像使用UIDFolder一样)

谢啦

共有2个答案

连志义
2023-03-14

如果您需要使用服务器HW来搜索来自特定发件人的电子邮件,您应该使用IMAP命令。您需要ImapClient类和方法ExcuteSearch()。搜索IMAP

SEARCH UNSEEN FROM "somebody@example.org"
史高阳
2023-03-14

我自己找到的:)

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!

 类似资料:
  • 我有一个Outlook.com的电子邮件帐户。我希望我的Java应用程序能够使用JavaMail从该电子邮件帐户发送电子邮件。为此,我通过OAuth授予了我的应用程序访问权限。 我已经能够使用msgshow中提供的精彩示例应用程序通过IMAP成功连接.java。但是,我正在尝试通过SMTP通过我的 Outlook.com 电子邮件帐户发送电子邮件,但我没有任何运气。我尝试过同时使用msgsend.

  • 我需要通过我的应用程序发送一封电子邮件,比如使用带有OAuth的javamail API,但我需要如何使用我在下面添加的代码。 我的代码:

  • 我创建了一个子域sesmail.xxxx.com使用Cboard其中xxxx是我的域。 将其设置为Amazon SES的“来自域的邮件”,并将MX和TXT条目添加到我的DNS区域。亚马逊SES成功地验证了它。 我可以发送和接收电子邮件到外部域名,如gmail,雅虎等。然而,我不能发送电子邮件到我自己的域名。 打开通知,我发现邮件被此错误反弹- 外部我可以发送和接收没有问题。在内部,当我给自己发送电

  • 我需要以编程方式使用用户的Gmail帐户发送电子邮件。 我知道,我可以使用SMTP和PHPMailer实现这一点。 但为此,用户必须在其帐户安全设置中启用不太安全的应用程序。这有点烦人,否则用户可能不会接受。 我如何创建一些应用程序/帐户(如Mandrill)并获取Gmail的一些常见凭据,并使用它们从phpMail发送电子邮件。 Gmail有这样的规定吗? 注意:我拥有一个域和G-Suite帐户

  • 我在使用我的公司交换服务器通过Javamail发送电子邮件时遇到了一些问题。我们有一个应用程序通过gmail服务器发送电子邮件没有任何问题,但对于Google策略的一些更改,我们希望使用公司服务器来完成这项工作。我确信会话属性中的问题,但我无法找到使其工作的方法 这是显示日志的错误 javax.mail.MessagingException:无法连接到SMTP主机:mail.company.com

  • 我正在为我的大学电子邮件服务开发一个android电子邮件客户端。然而,我在附件方面有一些问题。实际上,我可以从gmail或其他流行的电子邮件服务中获取附件,但我不能从我们大学域名的电子邮件中获取附件。 在gmail中,它在MimeMultipart中发送多个身体部位(Message.getContent()返回MimeMultipart对象),我可以获取附件。 然而,在我的大学电子邮件服务发送一