javamail发邮件乱码

本文介绍了如何解决邮件标题和正文的乱码问题,包括使用MimeUtility类转换邮件标题及调整邮件正文编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.邮件标题乱码

邮件标题的乱码很好解决,使用MimeUtility类即可进行转换。代码如下:

 

mailMessage.setSubject(MimeUtility.encodeText(mailInfo.getSubject(),MimeUtility.mimeCharset("gb2312"), null));

这里的gb2312也可以改为utf-8。

 

 

2.英文windows邮件正文乱码

在我本机上邮件正文并没有出现乱码,但是将程序放在了英文windows server上,就出现了乱码。非常奇怪,后来发现如果将中文直接输入到参数中并不会有乱码,但是如果通过文件读取html文件就会有乱码。问题锁定为读取文件,读取文件代码如下:

 

我测试发现如果在中文系统中读取文件必须要将encode设置为gb2312,在英文的windows上必须设置为iso-8859-1。否则不能正确读出中文。我以为这样解决了问题,结果邮件正文还是乱码!为啥了?我想了下也行是我邮件中设置了编码是utf-8造成的,将utf-8统一改为gb2312就可以了!看来utf-8并不是万能的。总结下即读取文件时用gb2312,发邮件时也要统一成gb2312。不用改为utf-8。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值