Разбор eml с javamail не распознает правильно вложенные сообщения - PullRequest
0 голосов
/ 09 мая 2019

Я реализую парсер .eml, используя Javamail 1.5.6, я начал копировать из msghow.java образец, предоставленный в javamail.

Я тестирую eml, который содержит в качестве вложения другой eml, это выдержка:

MIME-Version: 1.0
Date: Tue, 30 Apr 2019 16:20:45 +0200
Message-ID: <CA+fLqEW8TUfSxih9DTp2WXa63pS7wf1eZiro_9k1XS4AShN5Zg@mail.gmail.com>
Subject: Message with an eml as attachment
From: a b <ab@gmail.com>
To: cd@pec.cd.it
Content-Type: multipart/mixed; boundary="00000000000057f76c0587c01bc9"

--00000000000057f76c0587c01bc9
Content-Type: multipart/alternative; boundary="00000000000057f7670587c01bc7"

--00000000000057f7670587c01bc7
Content-Type: text/plain; charset="UTF-8"

Hello guys,

this is a simple message from a not certified account, it contains only one
attachment, an eml message

--00000000000057f7670587c01bc7
Content-Type: text/html; charset="UTF-8"

<div dir="ltr">Hello guys,<div><br></div><div>this is a simple message from a not certified account, it contains only one attachment, an eml message</div></div>
--00000000000057f76c0587c01bc9
Content-Type: message/rfc822; name="Cena zerebao.eml"
Content-Disposition: attachment; filename="Cena zerebao.eml"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_jv3vpu760
Content-ID: <f_jv3vpu760>

WC1Ob3Rlcy1JdGVtOiBGcmksIDYgSnVsIDIwMTggMTc6NDA6MDAgKzAyMDA7DQogdHlwZT00MDA7
IG5hbWU9T3JpZ2luYWxNb2RUaW1lDQpYLU5vdGVzLUl0ZW06IE1lbW87DQogbmFtZT1Gb3JtDQpY
LU5vdGVzLUl0ZW06IFN0ZE5vdGVzTHRyMjU7DQo.... and so on

Javamail распознает этот файл, но когда я получаю его тему, дату, тело, вложения и т. Д., Все они равны нулю. msghow.java сама их не видит.

До javamail я реализовал свой парсер с mime4j, и у меня нет этой проблемы, но теперь я хотел бы проанализировать emls, используя только javamail, если это возможно

1 Ответ

0 голосов
/ 10 мая 2019

Из javadocs, описывающих свойство mail.mime.allowencodedmessages:

Спецификация MIME не позволяет кодировать части тела типа message / *. Заголовок Content-Transfer-Encoding в этом случае игнорируется. Некоторые версии Microsoft Outlook будут неправильно кодировать вложения сообщений. Если для этого свойства системы установлено значение «true», заголовок Content-Transfer-Encoding будет учитываться для вложений сообщений. Значением по умолчанию этого свойства является false.

...