2011-12-11 22 views
-2

MimeMessageをバイト配列に変換する必要がありますが、変換中に一部の文字が正しくコーディングされません。MimeMessageからバイト配列への変換

// message is MimeMessage 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
message.writeTo(baos); 
byte[] bytes = baos.toByteArray(); 

この変換は、出力として、私が間違ってフォーマットされた電子メールの本文recevingよ、正しく動作しません:コードは次のようlookis

<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en" 
    > 
<body style=3D"background-color: #ffffff;" > 

を...

3Dが存在すべきではありませんこの(xmlns = 3D "http :)。私はそれを削除することができますが、これは安全な解決策ではありません。私は誤ってメール本文からいくつかのコンテンツを削除する可能性があります。

チップが役に立つかもしれません。

+3

これはシリアル化とは関係ありません。 – jtahlborn

答えて

1

mimeメッセージに引用符付き印刷可能エンコーディングが含まれています。MIME RFC 1521を参照してください。保存する前にデコードする必要があります。

これにはjavax.mail.internet.MimeUtility.decodeを使用できるはずです。

+0

ありがとう、それは問題でした。 – Marek

関連する問題