javamail用pop3查看收件箱功能,收件箱中发件人别名部分中文乱码

db8726 db8726 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问题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();
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
db8726
Java EE 67,535 成员 225,843 内容