当我使用sina的smtp来发送.发现总是会有时不解码,有时能解码.
看一下email的原文,发现在协议中声明encode时,声明是bit8时,sina就会出现问题.
但是看一下subject:编码.发现当标题字过长时,会有问题,看了一下代码,应该是编码时超过76个字时自动换行了.而sina==这些服务器不认这些规则;
导致不能正常解码.
于是修改email的所有编码成base64
且直接使用这个编码,
不用里面的.
比较直接的方式是
用自己程序发出的email原文跟qq收件箱中的原文比对就知道了
标题格式是固定的
Subject: =?gb2312?B?t6LLzbi9vP6junJlYWx3b3JkLmh0bQ==?=
Subject: =?gb2312?B?标题base64编码?=
内容格式
--=====003_Dragon336814556280_=====
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
指定编码是base64
DQrTyrz+1vfM4qO6QVNURC1TVEFEyte97NDCvNPGwsjLwabXyrG+v6q3orTzu+ENCg0KMjAxMS0xMC0yNCANCg0KDQoNCtXFvM7OsCANCtbQyMvN+CANCtbQyMvJzLPHDQqxsb6p1tDIy8340MXPotfJ0a/T0M/euavLvg0KtdjWt6O6sbG+qdbQudi05barwrc2NrrFysC8zb/Gw7O088/DQdf5MTGy46OsMTAwMTkwDQq157uwo7owMTAtNTk4MzE2NjgNCrSr1eajujAxMC01OTgzMTYwMA0Kyta7+qO6MTg2MTAxNDEwNTMNCtPKz+Sjump3emhhbmdAY2hpbmFocmQubmV0DQpNU046dmx2Y3RyYWNlQGhvdG1haWwuY29tDQrN+Na3o7podHRwOi8vd3d3LmNoaW5haHJkLm5ldC8gDQogDQo=