4

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

IMAPMessage.getInReplyTo()

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

IMAPFolder

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

4

2 回答 2

10

您可以像这样使用IMAPFolder'ssearch方法:

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

IMAPFolder在此处查看'search方法 的文档: 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

于 2013-06-04T07:23:59.320 回答
0

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

于 2013-04-12T12:19:35.217 回答