gmailなどの外部ドメインにメールを送信する電子メールアプリケーションのjunitを作成しています。SmtpMessage、SmtpServerなどのクラスを含むダムスター(偽のメールサーバー)APIを使用しています。ユニコード本体
String unicodeBody = "TestBody\u0393"
しかし、偽のメールサーバーから受信すると、「TestBody=CE=93」のようになります。メールを受信するsmtpサーバーのコードは
SmtpMessage email=smtpServer.getReceivedEmail().next();
ここで何が欠けているのかわかりませんか?
参考までに、メールを MimeMessage (コンテンツ タイプが multipart/alternative) として送信します。これには、内部に 2 つの mimeBodyParts (テキスト本文用と HTML 本文用) が含まれています。
編集:- 完全な電子メール本文は次のとおりです:-
MIME-Version: 1.0
Message-ID: <18805827.1.1355311147338.JavaMail.SMiles@INN-L-0019>
Subject: subject
Date: Wed, 12 Dec 2012 16:49:07 +0530 (IST)
To: to@email.com
Content-Type: multipart/alternative;
Reply-To: from@email.com
From: from@email.com
------=_Part_0_13986615.1355311147225Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: quoted-printable
body=CE=93------=_Part_0_13986615.1355311147225Content-Type: text/html; charset=UTF-8Content-Transfer-Encoding: quoted-printable
body=CE=93------=_Part_0_13986615.1355311147225--
------=_Part_0_13986615.1355311147225Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: quoted-printable
body=CE=93------=_Part_0_13986615.1355311147225Content-Type: text/html; charset=UTF-8Content-Transfer-Encoding: quoted-printable
body=CE=93------=_Part_0_13986615.1355311147225--
{MIME-Version=[1.0], Message-ID=[<18805827.1.1355311147338.JavaMail.Smiles@INN-L-0019>], Subject=[subject], Date=[Wed, 12 Dec 2012 16:49:07 +0530 (IST)], To=[to@email.com], Content-Type=[multipart/alternative;], Reply-To=[from@email.com], From=[from@email.com]}