Message newMessage = new MimeMessage(sendMailSession);
 newMessage.setContent(content, "text/html;charset=gbk");

解决方案 »

  1.   

    试一试这个,subject = new String(subject.getBytes("iso-8859-1"),"gb2312");
    另外还要看你的操作系统,如果是Windows应该没问题,如果是Linux的话,可能还要注意一下操作系统自身的字符集设置
      

  2.   

    我用这个测试通过:
    body= new String(body.getBytes("GBK"),System.getProperty("file.encoding"));
      

  3.   

    new String(subject.getBytes("iso-8859-1"),"gb2312");
      

  4.   

    我的是unix的系统,我测试了windows确实可以发送中文,但是unix的字符集该怎么设置呢?
      

  5.   

    你的subject这个字符串是哪儿来的?
    是读文件还是什么?注意一下这时是不是乱码
      

  6.   

    new  String(?, ) 后面不用加参数的嘛?  new String(subject.getByte("iso-8859-1"), "gb2312");有 Message.setContent(content, "text/html;charset=utf-8");这一句就不应该有什么问题的, 。  多试验几次就好了。1
      

  7.   


    subject= javax.mail.internet.MimeUtility.encodeText(subject,"GBK","UTF-8");