3

Javamail Api を使用して、Android フォン用の電子メール クライアントを作成しました。次の方法で送信者のメールアドレスと受信者のメールアドレスを取得しようとすると:

Address[] froma = m.getFrom();
        String from = InternetAddress.toString(froma);

        Address[] toa = m.getRecipients(Message.RecipientType.TO);
        String to = InternetAddress.toString(toa);

次のような文字列が返されます。

"Georg =?ISO-8859-1?Q?SP=E4the?= そしてそれは Georg Späthe または Georg Spaethe でなければなりません.

問題は、これが別のエンコーディングのドイツ語メールであることだと思います。誰でもその問題を解決するのを手伝ってもらえますか?

4

3 に答える 3

8

MIME ヘッダーはRFC 2047に従ってエンコードされるため、最初にデコードする必要があります。

String decoded = MimeUtility.decodeText("Georg =?ISO-8859-1?Q?SP=E4the?=");

JDK インポート:

import javax.mail.internet.MimeUtility;

アンドロイド用:

import com.android.email.mail.internet;

MimeUtility の Javadocも参照してください。

于 2013-05-10T11:48:38.097 に答える