java mail - 按消息ID获取消息

cub*_*oft 4 java email android imap

我正在开发Android邮件客户端.我需要为每封电子邮件消息构建一个"对话"结构.我用

IMAPMessage.getInReplyTo()
Run Code Online (Sandbox Code Playgroud)

返回消息是回复的消息的消息ID的方法.不幸的是,似乎没有简单的方法来获取消息

IMAPFolder
Run Code Online (Sandbox Code Playgroud)

使用其消息ID.只能通过其UID获取消息.是否有一种通过其消息ID获取IMAP消息的简单方法?

Bar*_*tek 9

您可以使用IMAPFolder的搜索方法,如下所示:

SearchTerm searchTerm = new MessageIDTerm(messageId);
Message[] messages = imapFolder.search(searchTerm);
Run Code Online (Sandbox Code Playgroud)

请在此处查看IMAPFolder搜索方法的文档:https://javamail.java.net/nonav/docs/api/com/sun/mail/imap/IMAPFolder.html#search(javax.mail.search.SearchTerm )

以及这里的MessageIDTerm类:https: //javamail.java.net/nonav/docs/api/javax/mail/search/MessageIDTerm.html