javamail接收邮件时主题的乱码问题

javamail接收邮件时主题的乱码问题,第1张

这个过程比较复杂,首先,你要使用msg.getContentType()来获取contenttype,找出里面的charset=来获取编码,如果这里面没有编码,则使用getHeader方法来获取"From","To","Subject"中的编码(至少会有一个有),这里面的编码以"=?"开头(形式一般为=?GBK?B?之类,其中的GBK就是编码),获取编码后,对应使用

String subject = msg.getHeader("Subject", ",", false)//优先使用getHeader来获取内容,不要使用getSubject,那个经过一次编码处理,你以后会很麻烦

if (!StringUtil.isNull(你获取的编码)

&&StringUtil.isNull(ParseCode.getCharSet(subject))) {//邮件主题中不含编码,则使用从From或To中获取的编码

subject = new String(subject.getBytes("ISO8859_1"),

你获取的编码)//这里转码

}

这样你就能获取所有中文主题了

具体查询邮政编码的方法如下:

1、首先打开浏览器搜索百度。

2、然后点击下图红框位置上的百度。

3、在打开的百度中搜索邮政编码,点击下图箭头位置的全国邮政编码查询系统。

4、下面以北京市为例,点击下图的北京市。

5、然后输入想要查询的地区。

6、最后在图中找到自己所在地区的邮政编码就可以了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/673986.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-28
下一篇2023-07-28

发表评论

登录后才能评论

评论列表(0条)

    保存