0

javax.mail ライブラリを使用して .eml ファイルを作成できますが、本文が 76 文字を超える場合、さらに多くの行に分割されます。問題は、Windows Live メールで .eml ファイルを開くよりも、76 文字の通信でメール本文に「=」文字が表示され、テキストが複数行になることです。

誰か助けてくれませんか?ありがとうございました

-アントニオ

これは .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

正確なボディを取得するには、何を設定する必要がありますか? ありがとう

4

1 に答える 1

0

正しいヘッダーを指定していないようです。ボディ パーツが 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 によって追加されます。)

于 2013-04-13T12:55:00.693 に答える