0

我正在为 Android 构建一个邮件客户端,并使用 JavaMail 通过 Imap 协议获取消息。我正在为收到的每条消息保存 Message-Id 标头,并且我遇到了一条在原始消息中不包含任何 Message-Id 标头的消息,但是当我通过 Imap 从 Gmail 收到消息时,我得到一个名为 Envalope 的字段这个字段恰好包含我需要的所有数据,包括 Message-Id。

问题是无论我做什么我都无法到达那个 Envelope 对象,我想知道是否有人已经这样做了并且可以抛出一些提示。

原始消息带有以下内容:

MIME-Version: 1.0
From: "Mailbox Support" <support@mailboxapp.com>
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--

从 Gmail 传输的消息对象

非常感谢

4

1 回答 1

0

JavaMail 使用 IMAP ENVELOPE 中的信息作为 getMessageID 等方法的返回值。通常这将与您使用 getHeader("Message-ID") 获得的数据相同,但如果原始消息中缺少 Message-ID 标头,则服务器可能会“编造”一个值以在信封中返回。

于 2014-01-24T20:56:36.003 回答