Zend_Mail

Введение

Начало работы

Zend_Mail предоставляет обобщенный функционал для формирования и отправки как текстовых, так и MIME-сообщений электронной почты. Сообщения могут отправляться через Zend_Mail_Transport_Sendmail (используется по умолчанию) или через Zend_Mail_Transport_Smtp.

Example #1 Простое сообщение электронной почты

Простое сообщение электронной почты состоит из нескольких получателей, заголовка сообщения, тела сообщения и отправителя. Чтобы отправить такое сообщение, используя Zend_Mail_Transport_Sendmail, сделайте следующее:

  1. span style="color: #ff0000;">'This is the text of the mail.''somebody@example.com', 'Some Sender''somebody_else@example.com', 'Some Recipient''TestSubject'

Note: Минимально необходимые определения
Для того, чтобы отправить сообщение через Zend_Mail, вы должны указать как минимум одного получателя, отправителя (например, с помощью setFrom()) и тело сообщения (текстовое и/или в формате HTML).

Для большинства атрибутов сообщений электронной почты есть методы "get" для чтения информации, сохраненной в объекте сообщения. За более подробной информацией обратитесь к API-документации. К примеру, метод getRecipients() возвращает массив с адресами электронной почты получателей, в порядке их добавления.

В целях безопасности Zend_Mail фильтрует все содержимое заголовков для предотвращения инъекций в заголовки с использованием символов новой строки (\n). В имени отправителя и именах получателей двойные кавычки заменяются на одинарные, а угловые скобки на квадратные. Если эти символы находятся в адресах электронной почты, то они удаляются.

Конфигурирование транспорта, используемого по умолчанию

Для экземпляра Zend_Mail по умолчанию используется Zend_Mail_Transport_Sendmail. По существу он является оберткой к PHP-функции » mail(). Если вы хотите передавать функции » mail() дополнительные параметры, то просто создайте новый экземпляр транспорта и передайте свои параметры его конструктору. После этого новый экземпляр транспорта может выступать как используемый по умолчанию транспорт для Zend_Mail, либо он может быть передан методу send() класса Zend_Mail.

Example #2 Передача дополнительных параметров транспорту Zend_Mail_Transport_Sendmail

Этот пример демонстрирует, как изменить заголовок Return-Path для функции » mail().

  1. span style="color: #ff0000;">'-freturn_to_me@example.com''This is the text of the mail.''somebody@example.com', 'Some Sender''somebody_else@example.com', 'Some Recipient''TestSubject'

Note: Ограничения безопасного режима
Применение дополнительных параметров приведет к отказу в выполнении функции » mail(), если PHP работает в безопасном режиме (safe mode).


Zend_Mail