jwa*_*eer 3 java email android jakarta-mail iso-8859-1
我使用Javamail Api为我的Android手机制作了一个电子邮件客户端.如果我尝试使用以下方法获取发件人的邮件地址和收件人邮件地址:
Address[] froma = m.getFrom();
String from = InternetAddress.toString(froma);
Address[] toa = m.getRecipients(Message.RecipientType.TO);
String to = InternetAddress.toString(toa);
Run Code Online (Sandbox Code Playgroud)
我得到一个像这样的字符串:
"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?=");
Run Code Online (Sandbox Code Playgroud)
JDK导入:
import javax.mail.internet.MimeUtility;
Run Code Online (Sandbox Code Playgroud)
对于Android:
import com.android.email.mail.internet;
Run Code Online (Sandbox Code Playgroud)