如何仅获取电子邮件';从java中的特定帐户发送或接收的

如何仅获取电子邮件';从java中的特定帐户发送或接收的,java,email,jakarta-mail,Java,Email,Jakarta Mail,我正在寻找一种解决方案,比如我必须从我的邮箱(在本例中是Gmail)中搜索某封电子邮件,该邮箱发送到某个电子邮件ID或从该电子邮件ID接收。我在这里得到了一些答案,但他们正在做的是从邮箱中获取所有电子邮件,并迭代所有电子邮件,并将其与if-else条件匹配。 另一种方法是使用getSortedMessages方法,但Gmail也不支持排序,它会不断抛出异常 因此,任何其他的答案都是建议的,或者我必须采用传统的方式获取所有电子邮件,然后一个接一个地迭代和检查,并存储到数组变量中并返回它 提前感谢。

我正在寻找一种解决方案,比如我必须从我的邮箱(在本例中是Gmail)中搜索某封电子邮件,该邮箱发送到某个电子邮件ID或从该电子邮件ID接收。我在这里得到了一些答案,但他们正在做的是从邮箱中获取所有电子邮件,并迭代所有电子邮件,并将其与if-else条件匹配。 另一种方法是使用getSortedMessages方法,但Gmail也不支持排序,它会不断抛出异常

因此,任何其他的答案都是建议的,或者我必须采用传统的方式获取所有电子邮件,然后一个接一个地迭代和检查,并存储到数组变量中并返回它


提前感谢。

假设您正在使用IMAP,请与和一起使用:


你能再解释一下吗。似乎它还需要一个额外的参数作为收件人类型。我无法得到它@比尔·香农(Bill ShannonI)正试图在给出的解决方案的基础上找出一个解决方案。但这似乎需要更多的时间。这是什么节目?
Message[] msgs = inbox.search(new OrTerm(
                 new SearchTerm[] {
                    new RecipientStringTerm(Message.RecipientType.TO, "user@example.com"),
                    new RecipientStringTerm(Message.RecipientType.CC, "user@example.com"),
                    new FromStringTerm("user@example.com")
                  }));