我正在開發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