【问题标题】:java mail - getting message by message IDjava mail - 通过消息ID获取消息
【发布时间】:2013-04-02 18:31:32
【问题描述】:

我正在开发 Android 邮件客户端。我需要为每封电子邮件建立一个“对话”结构。我用

IMAPMessage.getInReplyTo()

返回消息回复的消息的消息 ID 的方法。不幸的是,似乎没有简单的方法可以从

获取消息
IMAPFolder

使用其消息 ID。只能通过其 UID 获取消息。有没有一种简单的方法可以通过消息 ID 获取 IMAP 消息?

【问题讨论】:

标签: java android email imap


【解决方案1】:

你可以像这样使用IMAPFoldersearch方法:

SearchTerm searchTerm = new MessageIDTerm(messageId);
Message[] messages = imapFolder.search(searchTerm);

在此处查看IMAPFoldersearch 方法的文档: https://javaee.github.io/javamail/docs/api/com/sun/mail/imap/IMAPFolder.html#search-javax.mail.search.SearchTerm-

对于MessageIDTerm 类: https://javaee.github.io/javamail/docs/api/javax/mail/search/MessageIDTerm.html

【讨论】:

    【解决方案2】:

    不幸的是,没有直接的解决方案......您可以尝试使用所有邮件 ID 的 body structures 维护一个内部结构,然后执行一对一的 Message-ID 检查并获取的 UID邮件。无论如何,你会这样做,以显示邮件列表。添加一个新逻辑来映射消息 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      • 2017-12-08
      • 2020-10-20
      • 2021-03-06
      • 2014-09-26
      相关资源
      最近更新 更多