Zend_Mime_Message は MIME 準拠のメッセージを表すものであり、
ひとつあるいは複数の部分に分かれたメッセージ (Zend_Mime_Part オブジェクトで表されます)
を保持できます。Zend_Mime_Message では、Zend_Mime_Part を使用して
MIME 準拠のマルチパートメッセージを作成します。
エンコーディングやバウンダリの処理も透過的に行われます。
与えられた文字列から Zend_Mime_Message オブジェクトを再構成することも可能です
(実験段階です)。Zend_Mail で使用しています。
Zend_Mime_Part
オブジェクトを Zend_Mime_Message オブジェクトに追加するには、
addPart($part) をコールします。
getParts() メソッドは、 Zend_Mime_Message
内のすべての Zend_Mime_Part
オブジェクトを配列で返します。配列に保存されているのは
Zend_Mime_Part オブジェクトへの参照なので、内容を変更できます。
配列に新たなパートを追加したり並び順を変更したりした場合は、
setParts($partsArray) をコールして配列を
Zend_Mime_Part
オブジェクトに書き戻さなければなりません。
関数 isMultiPart() は、Zend_Mime_Message
オブジェクトに複数のパートが登録されている場合に TRUE を返します。
この場合、実際の出力はマルチパート Mime メッセージとなります。
Zend_Mime_Message は、バウンダリを生成するために通常は
Zend_Mime オブジェクトを使用します。
バウンダリを独自に定義する必要があったり
Zend_Mime_Message が使用する Zend_Mime
オブジェクトの振る舞いを変更したりしたい場合は、
Zend_Mime オブジェクトを自分で作成して Zend_Mime_Message
に登録します。通常は、この必要はありません。
この Zend_Mime_Message で使用する Zend_Mime
インスタンスを設定するには、setMime(Zend_Mime $mime) を使用します。
getMime() は
Zend_Mime のインスタンスを返します。
これは、generateMessage()
がコールされた際にメッセージをレンダリングする際に使用されます。
generateMessage() は、
Zend_Mime_Message の内容を文字列にレンダリングします。
MIME に準拠したメッセージを含む文字列をもとにして、
Zend_Mime_Message オブジェクトを構築できます。
Zend_Mime_Message には、このような文字列をパースして
Zend_Mime_Message オブジェクトを返す
静的なファクトリメソッドが用意されています。
Zend_Mime_Message::createFromMessage($str, $boundary)
は、渡された文字列をデコードして Zend_Mime_Message
オブジェクトを返します。getParts()
を使用すると、その中身を確認できます。