# Zend_Mime_Message

## Введение

`Zend_Mime_Message` представляет сообщения, составленные в соответствии со спецификациями MIME, такие сообщения могут содержать одну или более отдельных частей, представляемых как объекты класса `Zend_Mime_Part`). С помощью `Zend_Mime_Message` из объектов `Zend_Mime_Part` могут быть сгенерированы сообщения MIME multipart. Также с помощью этого класса производится прозрачное управление кодированием и разделителями. Объекты `Zend_Mime_Message` могут быть восстановлены из данных строк (экспериментальная возможность). Используется `Zend_Mail`-ом.

## Инстанцирование

Нет явного конструктора для `Zend_Mime_Message`.

## Добавление частей MIME

Объекты `Zend_Mime_Part` могут быть добавлены в конкретный объект `Zend_Mime_Message` путем вызова `->addPart($part)`.

Массив со всеми объектами частей `Zend_Mime_Part` в `Zend_Mime_Message` возвращается методом `->getParts()`. Через этот массив можно вносить изменения в объекты частей, поскольку они хранятся в виде ссылок. Если в массив были добавлены новые части или последовательность изменилась, то массив нужно заново передать объекту `Zend_Mime_Part` через вызов метода `->setParts($partsArray)`.

Функция `->isMultiPart()` вернет `TRUE`, если была зарегистрирована более чем одна часть в объекте `Zend_Mime_Message` и, следовательно, объект должен сгенерировать сообщение MIME multipart.

## Управление разделителями

`Zend_Mime_Message` обычно создает и использует свой объект `Zend_Mime` для генерации разделителей. Если нужно самостоятельно установить разделители или изменить поведение объекта `Zend_Mime`, используемого `Zend_Mime_Message`, то можно самостоятельно создать экземпляр `Zend_Mime` и зарегистрировать его в `Zend_Mime_Message` (но обычно вам не нужно делать это). Метод `->setMime(Zend_Mime $mime)` устанавливает специальный экземпляр `Zend_Mime`, который будет использоваться данным объектом `Zend_Mime_Message`.

`->getMime()` возвращает экземпляр класса `Zend_Mime`, который будет использоваться для формирования сообщения при вызове метода `generateMessage()`.

`->generateMessage()` формирует содержимое `Zend_Mime_Message` в строке.

## Создание объекта Zend_Mime_Message из строки (экспериментальная возможность)

Если имеется сообщение MIME в виде строки, то оно может использоваться для получения объекта `Zend_Mime_Message`. `Zend_Mime_Message` имеет фабричный метод, который принимает строку и возвращает объект `Zend_Mime_Message`.

`Zend_Mime_Message::createFromMessage($str, $boundary)` декодирует переданную строку и возвращает объект `Zend_Mime_Message`, который затем может быть исследован с помощью `->getParts()`.