我使用 Javamail Api 为我的 Android 手机制作了一个电子邮件客户端。如果我尝试使用以下方法获取发件人的邮件地址和收件人的邮件地址:
Address[] froma = m.getFrom();
String from = InternetAddress.toString(froma);
Address[] toa = m.getRecipients(Message.RecipientType.TO);
String to = InternetAddress.toString(toa);
我得到一个像这样的字符串:
“乔治=?ISO-8859-1?Q?SP=E4the?=
必须是Georg Späthe 或Georg Spaethe。
我认为问题在于这是使用另一种编码的德国邮件。有人可以帮我解决这个问题吗?
MIME 标头的编码如下RFC 2047 http://www.ietf.org/rfc/rfc2047.txt,因此您需要先解码它们。
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 http://docs.oracle.com/javaee/6/api/javax/mail/internet/MimeUtility.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)