2014-01-24 6 views
0

Я создаю почтовый клиент для Android и использую JavaMail для получения сообщений через протокол Imap. Я сохраняю заголовок Message-Id для каждого сообщения, которое я открываю, и наткнулся на сообщение, в котором не было заголовка Message-Id в его исходном сообщении, но когда я получаю сообщение от Gmail через Imap, я получаю поле, называемое Envalope и это поле содержат все необходимые мне данные, включая Message-Id.Получение объекта конверта с использованием JavaMail

Проблема в том, что я не могу достичь этого объекта конверта независимо от того, что я делаю, и мне было интересно, если кто-то уже это сделал, и может бросить несколько советов.

Оригинальное сообщение пришло со следующим содержанием:

MIME-Version: 1.0 
From: "Mailbox Support" <[email protected]> 
To: ****** 
Subject: Tips for Using Mailbox in Gmail 
Content-Type: multipart/alternative; 
boundary="----mailcomposer-?=_1-1369421942466" 

------mailcomposer-?=_1-1369421942466 

Content-Type: text/plain; charset=utf-8 
Content-Transfer-Encoding: quoted-printable 

[some text] 

------mailcomposer-?=_1-1369421942466 

Content-Type: text/html; charset=utf-8 
Content-Transfer-Encoding: quoted-printable 

[Some rich text] 

------mailcomposer-?=_1-1369421942466-- 

The message Object as it is tranfered from Gmail

Спасибо большое

ответ

0

JavaMail использует информацию в IMAP ГАБАРИТЕ как возвращаемые значения для таких методов, как getMessageID. Обычно это будут те же данные, которые вы получили бы с помощью getHeader («Message-ID»), но если в исходном сообщении отсутствует заголовок Message-ID, сервер может «составить» значение для возврата в ENVELOPE.

+0

Спасибо, Билл, и спасибо за отличный API. – Tsikon