我正在寻找一种解决方案,例如是否必须从我的邮箱(在本例中为Gmail)中搜索某些发送到电子邮件ID或从该电子邮件ID接收的电子邮件。我在这里得到了一些答案,但是他们正在做的是,他们正在从邮箱中获取所有电子邮件,并迭代所有电子邮件并将其与其他条件匹配。 另一种方法是使用getSortedMessages方法,但Gmail也不支持排序。它会不断抛出Exception。
因此,建议使用其他任何答案,否则我必须采用提取所有电子邮件的传统方法,然后进行迭代并逐个检查并存储到数组变量中并返回它。
谢谢。
答案 0 :(得分:0)
假设您正在使用IMAP,请将Folder.search与RecipientStringTerm和FromStringTerm结合使用:
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")
}));