发送端使用的是javamail,客户端是客户自己的网页邮箱。
我在发送时的编码:
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();   
message.setSubject("=?GB2312?B?"+enc.encode(mail.getSubject().getBytes())+"?=");
以下是客户收到的邮件:主题:=?GB2312?B?t72wuMnovMZBQUFBQUFDMDkyNjEwNCgwOcTqytLE2rfWsrwpo6xDMDkyNjEwNCgwOcTqytLE2rfW
srwp?=
Mime-Version: 1.0
Content-Type: multipart/mixed; 
boundary="----=_Part_0_1439190913.1269557978828"------=_Part_0_1439190913.1269557978828
Content-Type: text/plain; charset=MS936
Content-Transfer-Encoding: base64QzA5MjYxMDQoMDnE6srSxNq31rK8KaOto62/wsfFo62jraOtt72wuMnovMajraOto62/wsfFvfXK
orX716/Qocf4
------=_Part_0_1439190913.1269557978828--应该怎样编码才能使客户那边收到的邮件正常,谢谢!

解决方案 »

  1.   

    这是邮件的头信息吧,客户端有没有做一些对base64
    的编码问题,一直从事javamial的开发,没有遇到过这样的问题,不过应该是编码的问题,
    “message.setSubject("=?GB2312?B?"+enc.encode(mail.getSubject().getBytes())+"?=");
    ”,看看这行代码,改下编码试试
      

  2.   

    去年吧。写过一个这样的功能。。[无赖之举,现在免费的这么多,这功能谁用呢!]收发都是没有问题的。乱码率很低但也存在。我都没管了。反正。163.com qq.com eyou.com 发过来的没什么事。