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

db8726 2017-11-17 11:52:27
问题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();
...全文
213 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tianfang 2017-11-18
你的项目中全部用UTF8或者GBK字符集
  • 打赏
  • 举报
回复
db8726 2017-11-17
引用 1 楼 tianfang 的回复:
http://bianma.supfree.net/chaye.asp?id=5586 这个字GB2312中没有,传输过程中有系统采用了GB2312导致的
兄弟 那这个怎么解决呢?
  • 打赏
  • 举报
回复
tianfang 2017-11-17
http://bianma.supfree.net/chaye.asp?id=5586 这个字GB2312中没有,传输过程中有系统采用了GB2312导致的
  • 打赏
  • 举报
回复
相关推荐
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2017-11-17 11:52
社区公告
暂无公告