我正在开发Android邮件客户端。我需要为每封电子邮件建立一个“对话”结构。我使用java邮件 - 通过邮件获取邮件ID
IMAPMessage.getInReplyTo()
返回消息的消息ID的方法,消息是回复。不幸的是,似乎没有简单的方法可以从
IMAPFolder
使用其消息ID。只能通过其UID获取消息。通过消息ID获取IMAP消息有没有简单的方法?
我正在开发Android邮件客户端。我需要为每封电子邮件建立一个“对话”结构。我使用java邮件 - 通过邮件获取邮件ID
IMAPMessage.getInReplyTo()
返回消息的消息ID的方法,消息是回复。不幸的是,似乎没有简单的方法可以从
IMAPFolder
使用其消息ID。只能通过其UID获取消息。通过消息ID获取IMAP消息有没有简单的方法?
您可以使用IMAPFolder的搜索方法是这样的:
SearchTerm searchTerm = new MessageIDTerm(messageId);
Message[] messages = imapFolder.search(searchTerm);
请参阅该文档为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
不幸的是没有直接的解决方案...可能你可以尝试的是维护所有邮件ID的body structures
的内部结构,然后执行一对一的Message-ID检查并获得邮件的UID 。无论如何,你会这样做,以显示Maillist。添加一个新的逻辑来映射message-id。
myabe这将有助于? https://groups.google.com/forum/?fromgroups=#!topic/Gmail-Help-POP-and-IMAP-en/F9TQJAO493w – Elior 2013-04-10 19:25:58
不,这不是我的问题的解决方案。 – cubesoft 2013-04-11 06:05:24