MimeMessage тело длиннее 76 символов

Я могу создать файл.eml с библиотекой javax.mail, но если длина тела превышает 76 символов, он разбивается на несколько строк. Проблема заключается в том, что при открытии файла.eml с помощью Windows Live Mail в теле письма появляется символ "=" в соответствии с 76 символом, а текст многострочный.

Может ли кто-нибудь помочь мне, пожалуйста? Спасибо

-Antonio

Это пример файла.eml:

X-Unsent: 1
Message-ID: <2037894577.5.1365866504487.JavaMail.Nunziante@Nunziante-TOSH>
Subject: Comunicazione Contenzioso Spedizione 8092255513 del 09-04-2013
MIME-Version: 1.0
Content-Type: multipart/mixed; 
boundary="----=_Part_4_1091659763.1365866499167"

------=_Part_4_1091659763.1365866499167
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

The Stratford Bust, located on the wall of the chancel of Holy Trinity Chur=
ch at Stratford-upon-Avon, is the oldest and, along with the Droeshout Port=
rait, most credible of all the known images of Shakespeare. But there are m=
any representations of the Bard that have been handed down throughout the c=
enturies, each with its own fascinating story to tell.. Responsabilit=C3=A0=
: Generica


------=_Part_4_1091659763.1365866499167--

и это мой текущий код:

Message message = new MimeMessage(javax.mail.Session.getInstance(System.getProperties()));
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, getAddress(to));
message.setSubject(subject);
Multipart multipart = new MimeMultipart();
MimeBodyPart content = new MimeBodyPart();
multipart.addBodyPart(content);
content.setText(body);
message.setContent(multipart);
FileOutputStream fos = new FileOutputStream(emlFile);
message.writeTo(fos);
fos.close();

Когда я открываю файл eml, появляется сообщение:

Стратфордский бюст, расположенный на стене алтаря Свято-Троицкого храма в Стратфорде-на-Эйвоне, является самым старым и, наряду с портом Дрошаут, наиболее вероятным из всех известных изображений Шекспира. Но есть много представлений Барда, которые были переданы в течение всех столетий, каждая из которых имеет свою интересную историю, чтобы рассказать. Responsabilità= Generica

Что я должен установить, чтобы получить точное тело? Спасибо

1 ответ

Решение

Похоже, вы не указали правильные заголовки. Если часть тела находится в QP, вам нужен Content-Transfer-Encoding: quoted-printable Заголовок части тела для инструктирования клиента.

Если вам нужна дополнительная помощь, источник проблемного сообщения будет полезен для диагностики. Правильное минимальное составное сообщение выглядит примерно так:

From: me@example.net
To: you@site.example.co
Subject: privet, mir
Mime-Version: 1.0
Content-type: multipart/mixed; boundary=foo

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

Hello w=
orld.

--foo--

(Строго говоря Date: а также Message-Id: также являются обязательными, но MTA, как правило, добавляет их, если они отсутствуют.)

Другие вопросы по тегам