| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="zend.mail.introduction">
- <title>Введение</title>
- <sect2 id="zend.mail.introduction.getting-started">
- <title>Начало работы</title>
- <para>
- <classname>Zend_Mail</classname> предоставляет обобщенный
- функционал для формирования и отправки как текстовых, так и
- <acronym>MIME</acronym>-сообщений электронной почты.
- Сообщения могут отправляться через
- <classname>Zend_Mail_Transport_Sendmail</classname>
- (используется по умолчанию) или через
- <classname>Zend_Mail_Transport_Smtp</classname>.
- </para>
-
- <example id="zend.mail.introduction.example-1">
-
- <title>Простое сообщение электронной почты</title>
-
- <para>
- Простое сообщение электронной почты состоит из нескольких
- получателей, заголовка сообщения, тела сообщения и отправителя.
- Чтобы отправить такое сообщение, используя
- <classname>Zend_Mail_Transport_Sendmail</classname>,
- сделайте следующее:
- </para>
-
- <programlisting language="php"><![CDATA[
- $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();
- ]]></programlisting>
- </example>
-
- <note>
- <title>Минимально необходимые определения</title>
- <para>
- Для того, чтобы отправить сообщение через
- <classname>Zend_Mail</classname>, вы должны
- указать как минимум одного получателя, отправителя (например,
- с помощью <methodname>setFrom()</methodname>) и тело сообщения
- (текстовое и/или в формате HTML).
- </para>
- </note>
-
- <para>
- Для большинства атрибутов сообщений электронной почты есть методы
- "get" для чтения информации, сохраненной в объекте сообщения.
- За более подробной информацией обратитесь к
- <acronym>API</acronym>-документации. К примеру, метод
- <methodname>getRecipients()</methodname> возвращает массив с
- адресами электронной почты получателей, в порядке их добавления.
- </para>
- <para>
- В целях безопасности <classname>Zend_Mail</classname> фильтрует все
- содержимое заголовков для предотвращения инъекций в заголовки с
- использованием символов новой строки (<code>\n</code>).
- В имени отправителя и именах получателей двойные кавычки заменяются
- на одинарные, а угловые скобки на квадратные. Если эти символы
- находятся в адресах электронной почты, то они удаляются.
- </para>
- </sect2>
-
- <sect2 id="zend.mail.introduction.sendmail">
- <title>Конфигурирование транспорта, используемого по умолчанию</title>
- <para>
- Для экземпляра <classname>Zend_Mail</classname> по умолчанию
- используется <classname>Zend_Mail_Transport_Sendmail</classname>.
- По существу он является оберткой к <acronym>PHP</acronym>-функции
- <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
- Если вы хотите передавать функции
- <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>
- дополнительные параметры, то просто создайте новый экземпляр
- транспорта и передайте свои параметры его конструктору.
- После этого новый экземпляр транспорта может выступать как
- используемый по умолчанию транспорт для
- <classname>Zend_Mail</classname>, либо он может быть передан
- методу <methodname>send()</methodname> класса
- <classname>Zend_Mail</classname>.
- </para>
- <example id="zend.mail.introduction.sendmail.example-1">
- <title>Передача дополнительных параметров транспорту Zend_Mail_Transport_Sendmail</title>
- <para>
- Этот пример демонстрирует, как изменить заголовок Return-Path
- для функции <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
- </para>
- <programlisting language="php"><![CDATA[
- $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();
- ]]></programlisting>
- </example>
- <note>
- <title>Ограничения безопасного режима</title>
- <para>
- Применение дополнительных параметров приведет к отказу в
- выполнении функции
- <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>,
- если <acronym>PHP</acronym> работает в безопасном режиме
- (safe mode).
- </para>
- </note>
- </sect2>
-
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|