# 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()`.