1 <?xml version="1.0" encoding="UTF-8"?>
3 <sect1 id="zend.mail.introduction">
5 <title>Введение</title>
7 <sect2 id="zend.mail.introduction.getting-started">
9 <title>Начало работы</title>
12 <classname>Zend_Mail</classname> предоставляет обобщенный
13 функционал для формирования и отправки как текстовых, так и
14 <acronym>MIME</acronym>-сообщений электронной почты.
15 Сообщения могут отправляться через
16 <classname>Zend_Mail_Transport_Sendmail</classname>
17 (используется по умолчанию) или через
18 <classname>Zend_Mail_Transport_Smtp</classname>.
21 <example id="zend.mail.introduction.example-1">
23 <title>Простое сообщение электронной почты</title>
26 Простое сообщение электронной почты состоит из нескольких
27 получателей, заголовка сообщения, тела сообщения и отправителя.
28 Чтобы отправить такое сообщение, используя
29 <classname>Zend_Mail_Transport_Sendmail</classname>,
33 <programlisting language="php"><![CDATA[
34 $mail = new Zend_Mail();
35 $mail->setBodyText('This is the text of the mail.');
36 $mail->setFrom('somebody@example.com', 'Some Sender');
37 $mail->addTo('somebody_else@example.com', 'Some Recipient');
38 $mail->setSubject('TestSubject');
45 <title>Минимально необходимые определения</title>
47 Для того, чтобы отправить сообщение через
48 <classname>Zend_Mail</classname>, вы должны
49 указать как минимум одного получателя, отправителя (например,
50 с помощью <methodname>setFrom()</methodname>) и тело сообщения
51 (текстовое и/или в формате HTML).
56 Для большинства атрибутов сообщений электронной почты есть методы
57 "get" для чтения информации, сохраненной в объекте сообщения.
58 За более подробной информацией обратитесь к
59 <acronym>API</acronym>-документации. К примеру, метод
60 <methodname>getRecipients()</methodname> возвращает массив с
61 адресами электронной почты получателей, в порядке их добавления.
65 В целях безопасности <classname>Zend_Mail</classname> фильтрует все
66 содержимое заголовков для предотвращения инъекций в заголовки с
67 использованием символов новой строки (<code>\n</code>).
68 В имени отправителя и именах получателей двойные кавычки заменяются
69 на одинарные, а угловые скобки на квадратные. Если эти символы
70 находятся в адресах электронной почты, то они удаляются.
75 <sect2 id="zend.mail.introduction.sendmail">
77 <title>Конфигурирование транспорта, используемого по умолчанию</title>
80 Для экземпляра <classname>Zend_Mail</classname> по умолчанию
81 используется <classname>Zend_Mail_Transport_Sendmail</classname>.
82 По существу он является оберткой к <acronym>PHP</acronym>-функции
83 <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
84 Если вы хотите передавать функции
85 <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>
86 дополнительные параметры, то просто создайте новый экземпляр
87 транспорта и передайте свои параметры его конструктору.
88 После этого новый экземпляр транспорта может выступать как
89 используемый по умолчанию транспорт для
90 <classname>Zend_Mail</classname>, либо он может быть передан
91 методу <methodname>send()</methodname> класса
92 <classname>Zend_Mail</classname>.
95 <example id="zend.mail.introduction.sendmail.example-1">
97 <title>Передача дополнительных параметров транспорту Zend_Mail_Transport_Sendmail</title>
100 Этот пример демонстрирует, как изменить заголовок Return-Path
101 для функции <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
104 <programlisting language="php"><![CDATA[
105 $tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
106 Zend_Mail::setDefaultTransport($tr);
108 $mail = new Zend_Mail();
109 $mail->setBodyText('This is the text of the mail.');
110 $mail->setFrom('somebody@example.com', 'Some Sender');
111 $mail->addTo('somebody_else@example.com', 'Some Recipient');
112 $mail->setSubject('TestSubject');
119 <title>Ограничения безопасного режима</title>
121 Применение дополнительных параметров приведет к отказу в
123 <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>,
124 если <acronym>PHP</acronym> работает в безопасном режиме