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, как правило, добавляет их, если они отсутствуют.)