Java mail – получение сообщения по идентификатору сообщения

Я разрабатываю почтовый клиент Android. Мне нужно создать структуру «беседы» для каждого сообщения электронной почты. Я использую

IMAPMessage.getInReplyTo() 

Метод, который возвращает идентификатор сообщения, для которого сообщение является ответом. К сожалению, кажется, нет простого способа получить сообщение от

 IMAPFolder 

Используя свой идентификатор сообщения. Это сообщение можно получить только по его UID. Есть ли простой способ получить сообщение 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

    К сожалению, нет прямого решения … Может быть, вы можете попытаться сохранить внутреннюю структуру с структурами body structures всех идентификаторов почты, а затем выполнить один на один идентификатор идентификатора сообщения и получить UID почты. В любом случае, вы бы это сделали, чтобы показать майлиста. Добавьте новую логику для сопоставления идентификаторов сообщений.