问题1:
单位邮箱,在获取某些邮件发件人的时候,部分别名中文成了乱码,比如:董吉喆 <xxxx.yssh@xxx.com>
部分代码如下:
Address[] froms = msg.getFrom();
InternetAddress address = (InternetAddress) froms[0];
//取别名
String person = address.getPersonal();
结果显示为

我也尝试过
MimeUtility.decodeText(address.toString());
结果是

<xxxx@xxxx.com>
不知道有没有兄弟碰到过这种问题,怎么解决的?谢谢
请注意我描述的,不是所有的发件人别名都会有乱码问题。
问题2:
另外还有个问题,就是我从登录邮箱看收件箱中(发件人,收件人,抄送都有可能),所有人都有中文别名:,但是通过javamail获取之后的中文成了邮箱简写,比如:蓝总 <lz.yssh@xxx.com>,拿到的是lz.yssh <lz.yssh@xxx.com>
获取收件人的代码部分如下:
StringBuffer receiveAddress = new StringBuffer();
//只获取收件人
Address[] addresss = msg.getRecipients(Message.RecipientType.TO);
for (Address address : addresss) {
receiveAddress.append(decodeText(address.toString())).append(",");
}
// 删除最后一个逗号
receiveAddress.deleteCharAt(receiveAddress.length() - 1);
return receiveAddress .toString();