23.2. Zend_Mime_Message

23.2.1. 简介

Zend_Mime_Message表示一个包含一个或多个段(段以Zend_Mime_Part对象表示)的符合MIME标准的消息。 在Zend_Mime_Message中,符合MIME标准的多段消息由Zend_Mime_Part对象产生。 编码和分段也是在Zend_Mime_Message中被处理。Zend_Mime_Message对象也可从给定的字符串中重构出来(实验性的)。 Zend_Mime_Message也被Zend_Mail使用(译注:Zend_Mail继承了Zend_Mime_Message)。

23.2.2. 实例化

Zend_Mime_Message没有构造函数。

23.2.3. 增加MIME消息段

Zend_Mime_Message对象通过调用addPart($part)方法, 可以添加Zend_Mime_Part对象。

调用Zend_Mime_Message对象的getParts()方法, 返回Zend_Mime_Part 对象数组。 Zend_Mime_Part对象可以被更改,因为他们以引用的方式存储在Zend_Mime_Message对象的数组中。 如果数组中有新的段加入或者改变了段的顺序,该数组需通过调用setParts($partsArray)方法,反馈到Zend_Mime_Message中去。

Zend_Mime_Message中存在多个段,方法isMultiPart()将返回TRUE。 Zend_Mime_Message在产生实际输出产生多段的MIME消息。

23.2.4. 分界线处理

Zend_Mime_Message通常创建和使用自身的Zend_Mime对象来产生MINE分界线。 如果你想自己定义分界线或想更改Zend_Mime_Message自身的Zend_Mime对象的缺省的行为, 你可以自己实例化Zend_Mime对象,然后通过setMime(Zend_Mime $mime)方法注册到Zend_Mime_Message对象中去,通常你不需要这么做。

->getMime()方法,返回Zend_Mime实例,当generateMessage()被调用时Zend_Mime实例用来渲染MIME消息。

->generateMessage()方法,渲染Zend_Mime_Message的内容为字符串。

23.2.5. 解析字符串,创建Zend_Mime_Message对象(实验性的)

给定一个字符串形式的符合MIME标准的消息,可以重构出Zend_Mime_Message对象。 Zend_Mime_Message有一个静态的工厂方法,解析字符串,返回Zend_Mime_Message对象。

Zend_Mime_Message::createFromMessage($str, $boundary)将给定的字符串解码, 返回Zend_Mime_Message对象,可以用getParts()方法来检验一下。