加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Javamail ISO-8859-1格式化

发布时间:2020-12-15 04:10:05 所属栏目:Java 来源:网络整理
导读:我使用 Javamail Api为我的 Android手机制作了一个电子邮件客户端.如果我尝试使用以下方法获取发件人的邮件地址和收件人邮件地址: Address[] froma = m.getFrom(); String from = InternetAddress.toString(froma); Address[] toa = m.getRecipients(Messag
我使用 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?=
它必须是GeorgSp?the或Georg Spaethe.

我认为问题是这是德国邮件与另一种编码.有人可以帮我解决这个问题吗?

解决方法

MIME标头按照 RFC 2047编码,因此您需要先解码它们.

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

JDK导入:

import javax.mail.internet.MimeUtility;

对于Android:

import com.android.email.mail.internet;

另见Javadoc of MimeUtility

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读