首页  > 计算机 >

163和gmail对分段编码的邮件头处理不够好

本文按署名·非商业用途·保持一致授权
作者:  ,发表于2008年12月13日11时44分 

标题似乎说得不太清楚,应该是编码后,分段,再组合。不管了,看下面。

Subject: =?UTF-8?B?W+mZiOazvXxTdXJmQ2hlbl0gQ29tbWVudDogIuWlvemHju+8jOWKn+Wkq+e9?==?UTF-8?B?keWPkeWogeS6hiI=?=

简单地说,这是把一段base64编码分成两段后作为一个头信息发送(两个“=?UTF-8?B?单段信息?=”)。现在很多邮件发送函数或者类,都对邮件信息进行了这样的分段。但是一些主流的web邮件客户端在这个的解码上做得并不是很好。我也不知道这应该怪客户端,还是怪发送程序。不过既然我无法改变那些客户端的行为,那就只好把发送程序里那些分段的地方都去掉了。另外,我对邮件方面的协议了解得不多,不知道分段的意义何在。

下面是三个我经常用的邮件系统对此类编码的处理。

yahoo的处理很完美:

163在主题列表出错,不过点进去之后的详细页是正确的(第一个我在两段编码之间加了空格:?= =?):

gmail无论是列表还是详细页里都是错误的:



一个评论

  1. 一万个免费资源:

    兄弟研究的很深入啊,不知道我客户端偶尔乱码是否是这个原因。

发表评论

  本站文章若无注明,则以署名·非商业用途·保持一致授权
  桂ICP备05004302号 感谢WordPress提供本程序 本模板下载