使用Zend_Mail发送邮件时,Zend_Mime :: ENCODING_8BIT的含义是什么?

时间:2010-06-01 07:20:43

标签: email zend-framework

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是有意义的?

3 个答案:

答案 0 :(得分:4)

正如大家所说,ENCODING_8BIT代表内容转移编码。 基本上,8BITMIME用于国际化。它使用8位字符集,因此允许您发送UTF8字符集中支持的任何字符。

  

通常,非MIME邮件程序发送8位数据但不包含任何数据   用于将消息标记为8位数据的MIME标头。 MIME邮件应该   毫无问题地应对这一点。 [source]

所以基本上没有真正使用ENCODING_8BIT而不是其他编码的情况,因为UTF8中的电子邮件是今天的标准。另请注意,大多数MTA(邮件传输代理,如Postfix等)会自动强制编码为8BITMIME(UTF-8)。

关于8BITMIME编码的

Here is a good resource

  

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_8BITBug

要发送附件,您应始终使用Zend_Mime::ENCODING_BASE64

答案 2 :(得分:0)

不是电子邮件,而是附件。如果您在第7页上查看RFC 2045:

RFC2045

  

“二进制数据”是指任何数据   无论如何都是八位字节的序列   允许的。