Programmer's Reference Guide
| Zend_Mail |
Введение
Начало работы
Zend_Mail предоставляет обобщенный функционал для формирования и отправки как текстовых, так и MIME-сообщений электронной почты. Сообщения могут отправляться через Zend_Mail_Transport_Sendmail (используется по умолчанию) или через Zend_Mail_Transport_Smtp.
Пример #1 Простое сообщение электронной почты
Простое сообщение электронной почты состоит из нескольких получателей, заголовка сообщения, тела сообщения и отправителя. Чтобы отправить такое сообщение, используя Zend_Mail_Transport_Sendmail, сделайте следующее:
- $mail = new Zend_Mail();
- $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();
Замечание: Минимально необходимые определения
Для того, чтобы отправить сообщение через Zend_Mail, вы должны указать как минимум одного получателя, отправителя (например, с помощью setFrom()) и тело сообщения (текстовое и/или в формате HTML).
Для большинства атрибутов сообщений электронной почты есть методы "get" для чтения информации, сохраненной в объекте сообщения. За более подробной информацией обратитесь к API-документации. К примеру, метод getRecipients() возвращает массив с адресами электронной почты получателей, в порядке их добавления.
В целях безопасности Zend_Mail фильтрует все
содержимое заголовков для предотвращения инъекций в заголовки с
использованием символов новой строки (\n).
В имени отправителя и именах получателей двойные кавычки заменяются
на одинарные, а угловые скобки на квадратные. Если эти символы
находятся в адресах электронной почты, то они удаляются.
Конфигурирование транспорта, используемого по умолчанию
Для экземпляра Zend_Mail по умолчанию используется Zend_Mail_Transport_Sendmail. По существу он является оберткой к PHP-функции » mail(). Если вы хотите передавать функции » mail() дополнительные параметры, то просто создайте новый экземпляр транспорта и передайте свои параметры его конструктору. После этого новый экземпляр транспорта может выступать как используемый по умолчанию транспорт для Zend_Mail, либо он может быть передан методу send() класса Zend_Mail.
Пример #2 Передача дополнительных параметров транспорту Zend_Mail_Transport_Sendmail
Этот пример демонстрирует, как изменить заголовок Return-Path для функции » mail().
- $tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
- Zend_Mail::setDefaultTransport($tr);
- $mail = new Zend_Mail();
- $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).
| Zend_Mail |
Select a Version
Languages Available
Components
Search the Manual
Navigation
- Руководство разработчика
- Руководство разработчика
- Справочное руководство Zend Framework
- Zend_Mail
- Введение
- Отправка через SMTP
- Отправка нескольких сообщений за одно SMTP-соединение
- Использование различных транспортов
- Сообщение в формате HTML
- Вложения
- Добавление получателей
- Контроль за разделителями MIME
- Дополнительные заголовки
- Наборы символов
- Кодировка
- SMTP-аутентификация
- Защищенное SMTP-соединение
- Reading Mail Messages
