Введение Начало работы Zend_Mail предоставляет обобщенный функционал для формирования и отправки как текстовых, так и MIME-сообщений электронной почты. Сообщения могут отправляться через Zend_Mail_Transport_Sendmail (используется по умолчанию) или через Zend_Mail_Transport_Smtp. Простое сообщение электронной почты Простое сообщение электронной почты состоит из нескольких получателей, заголовка сообщения, тела сообщения и отправителя. Чтобы отправить такое сообщение, используя Zend_Mail_Transport_Sendmail, сделайте следующее: setBodyText('This is the text of the mail.'); $mail->setFrom('somebody@example.com', 'Some Sender'); $mail->addTo('somebody_else@example.com', 'Some Recipient'); $mail->setSubject('TestSubject'); $mail->send(); ]]> Минимально необходимые определения Для того, чтобы отправить сообщение через Zend_Mail, вы должны указать как минимум одного получателя, отправителя (например, с помощью setFrom()) и тело сообщения (текстовое и/или в формате HTML). Для большинства атрибутов сообщений электронной почты есть методы "get" для чтения информации, сохраненной в объекте сообщения. За более подробной информацией обратитесь к API-документации. К примеру, метод getRecipients() возвращает массив с адресами электронной почты получателей, в порядке их добавления. В целях безопасности Zend_Mail фильтрует все содержимое заголовков для предотвращения инъекций в заголовки с использованием символов новой строки (\n). В имени отправителя и именах получателей двойные кавычки заменяются на одинарные, а угловые скобки на квадратные. Если эти символы находятся в адресах электронной почты, то они удаляются. Конфигурирование транспорта, используемого по умолчанию Для экземпляра Zend_Mail по умолчанию используется Zend_Mail_Transport_Sendmail. По существу он является оберткой к PHP-функции mail(). Если вы хотите передавать функции mail() дополнительные параметры, то просто создайте новый экземпляр транспорта и передайте свои параметры его конструктору. После этого новый экземпляр транспорта может выступать как используемый по умолчанию транспорт для Zend_Mail, либо он может быть передан методу send() класса Zend_Mail. Передача дополнительных параметров транспорту Zend_Mail_Transport_Sendmail Этот пример демонстрирует, как изменить заголовок Return-Path для функции mail(). setBodyText('This is the text of the mail.'); $mail->setFrom('somebody@example.com', 'Some Sender'); $mail->addTo('somebody_else@example.com', 'Some Recipient'); $mail->setSubject('TestSubject'); $mail->send(); ]]> Ограничения безопасного режима Применение дополнительных параметров приведет к отказу в выполнении функции mail(), если PHP работает в безопасном режиме (safe mode).