在发邮件的时候,邮件是 html 内容的,html 标签里=号变成了=3D 。
直接被 Quoted-Printable 编码了,各位大佬怎么能避免这个编码?
尝试过:Content-Transfer-Encoding: base64 ,charset utf8 ,还是不行。
1
woodfizky 261 天前
%3D 吧?
|
2
WoneFrank OP |
3
shadowyue 261 天前
你的意思是,你的邮件正文内容就包含了 html 代码是吗?试试把代码放到 code 标签里或者 pre 标签里
|
5
busier 261 天前 1
邮件内容如果是 html 的话,就应该使用 Quoted-Printable 编码,不然诸如中文等非 ASCII 字符的兼容性问题你怎么解决
参考: Content-Type: html/text; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 接下来正文 html 用 qprint -e webpage.html 编码一下即可 qprint 命令没有的话,用 sudo apt-get install qprint 安装一下( ubuntu/debian ) =========================== 最终整个 MIME 源码用 ASCII 方式编码即可保证最佳兼容性。 |
6
busier 261 天前
另外,如果你要 Content-Transfer-Encoding: base64 ,那么整个邮件正文就应该被 base64 编码!
MIME 里的 Content-Transfer-Encoding 头是描述接下来正文的编码,而不是设置你要转换的编码! |
7
busier 261 天前
另外,你还可以将 Content-Transfer-Encoding: 8bit (如果只有纯英文 ASCII 字符,没有中文等用 7bit )
这样可以发原文,不过要求 SMTP 服务器扩展支持 8bit 字符集,且行长不能超过 1000 ,所以并不推荐使用 |
8
ttvast 260 天前 via Android
麻烦你用一个 mime 的库来组邮件吧,要么就从头学起。
|