1. 在linux环境下javamail 接收邮件后,邮件的标题和内容总是出现乱码,应如何解决
首先确认你自己是否使用了GBK
如果没有就是GBK的问题
如果你使用了GBK还是乱码,可能跟我前回几天一样是中文字答加几个乱码(中文字是你自己输的)
这个不是linux的问题
我们前几天学javamail 我也遇到过同样问题
后来自己解决了
我解决的方法是不要直接获取你的输入就当邮件的标题或者内容
把你的通过输入流获取的标题或者内容先放到一个无关的中间变量空间里
然后发邮件的时候直接从这个变量里读取内容
我自己这么弄就好了,不乱码了...
具体会产生这样的原因我也不知道......
2. javamail接收邮件时主题的乱码问题
这个过程来比较复杂,首先,你要使用源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"),
你获取的编码);//这里转码
}
这样你就能获取所有中文主题了
3. 如何解决JAVAMAIL发送html格式邮件时的乱码问题
是由抄于编码不同造成的乱码,应首先试一试转换编码的方法。因为这种编码大多出现在中文邮件上。因此,当乱码出现时首先应当检查编码方式是否为“简体中文(GB2312)”,如果不是可用鼠标点取“查看”菜单下的“编码”选项,选中“简体中文(GB2312)”编码方式,如果不行,切换成其他编码试试,通常问题都能得到解决。
4. javamail中邮件主题及内容乱码的问题
msg.setSubject("=?utf-8?"XXXXXXXXXXXXXXXXXXX");
主题中,写明是什么编码了,你还用别的编码解。
5. Java 发送邮件是出现乱码 乱码结果如下:
如果是中文乱码可以通过设置编码来解决
6. 有关javamail的邮件附件的路径和文件名中文乱码问题
你可以试试javamail包中自复带的编码解码制方法
import javax.mail.internet.MimeUtility; 包
// 解决文件名的中文问题
MimeUtility.decodeText(“attachment”);
// 解决标题的中文问题
MimeUtility.encodeText(”subject“);
这两个方法应该可以解决你的问题,我就是用的这两个方法