我正在开发 Android 邮件客户端。我需要为每封电子邮件建立一个“对话”结构。我用
IMAPMessage.getInReplyTo()
方法返回消息是回复的消息的消息 ID。不幸的是,似乎没有简单的方法可以从
IMAPFolder
使用其消息 ID。只能通过其 UID 获取消息。有没有一种简单的方法可以通过消息 ID 获取 IMAP 消息?
您可以像这样使用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
不幸的是,没有直接的解决方案......您可以尝试使用body structures
所有邮件 ID 维护一个内部结构,然后执行一对一的 Message-ID 检查并获取邮件的 UID。无论如何,你会这样做,以显示邮件列表。添加一个新逻辑来映射消息 ID。