在http://framework.zend.com/manual/en/zend.mail.attachments.html上Zend_Mail的示例中,他们使用ENCODING_8BIT,但是搜索可能会将我发送到http://msdn.microsoft.com/en-us/library/ms526992%28EXCHG.10%29.aspx的内容(对我来说这听起来很合理),解释说8位编码不会电子邮件的意义。
编辑:
当我将此编码用于带附件的邮件时,我会在邮件软件(Thunderbird)中收到附件已损坏的邮件
在哪些情况下使用ENCODING_8BIT是有意义的?
答案 0 :(得分:4)
正如大家所说,ENCODING_8BIT代表内容转移编码。 基本上,8BITMIME用于国际化。它使用8位字符集,因此允许您发送UTF8字符集中支持的任何字符。
通常,非MIME邮件程序发送8位数据但不包含任何数据 用于将消息标记为8位数据的MIME标头。 MIME邮件应该 毫无问题地应对这一点。 [source]
所以基本上没有真正使用ENCODING_8BIT而不是其他编码的情况,因为UTF8中的电子邮件是今天的标准。另请注意,大多数MTA(邮件传输代理,如Postfix等)会自动强制编码为8BITMIME(UTF-8)。
关于8BITMIME编码的8BITMIME扩展在实践中有两个效果:
- 客户端将避免Q-P转换。
- 客户可能会额外添加 MAIL请求结束时的信息:后跟任一个的空格 “BODY = 7BIT”或“BODY = 8BITMIME”。
答案 1 :(得分:1)
Zend_Mime::ENCODING_8BIT
设置Content-Transfer-Encoding
Content-Transfer-Encoding定义了以ASCII文本格式表示二进制数据的方法
在example中使用Zend_Mime::ENCODING_8BIT
是Bug。
要发送附件,您应始终使用Zend_Mime::ENCODING_BASE64
答案 2 :(得分:0)