[MANUAL] English:
[zend.git] / documentation / manual / ru / module_specs / Zend_Mail-Introduction.xml
blob3b65c56d9337c415ce43e1d6baadd5c4fff304ef
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect1 id="zend.mail.introduction">
5     <title>Введение</title>
7     <sect2 id="zend.mail.introduction.getting-started">
9         <title>Начало работы</title>
11         <para>
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>.
19         </para>
20     
21         <example id="zend.mail.introduction.example-1">
22     
23             <title>Простое сообщение электронной почты</title>
24     
25             <para>
26                 Простое сообщение электронной почты состоит из нескольких
27                 получателей, заголовка сообщения, тела сообщения и отправителя.
28                 Чтобы отправить такое сообщение, используя
29                 <classname>Zend_Mail_Transport_Sendmail</classname>,
30                 сделайте следующее:
31             </para>
32     
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');
39 $mail->send();
40 ]]></programlisting>
42         </example>
43     
44         <note>
45             <title>Минимально необходимые определения</title>
46             <para>
47                 Для того, чтобы отправить сообщение через
48                 <classname>Zend_Mail</classname>, вы должны
49                 указать как минимум одного получателя, отправителя (например,
50                 с помощью <methodname>setFrom()</methodname>) и тело сообщения
51                 (текстовое и/или в формате HTML).
52             </para>
53         </note>
54     
55         <para>
56             Для большинства атрибутов сообщений электронной почты есть методы
57             "get" для чтения информации, сохраненной в объекте сообщения.
58             За более подробной информацией обратитесь к
59             <acronym>API</acronym>-документации. К примеру, метод
60             <methodname>getRecipients()</methodname> возвращает массив с
61             адресами электронной почты получателей, в порядке их добавления.
62         </para>
64         <para>
65             В целях безопасности <classname>Zend_Mail</classname> фильтрует все
66             содержимое заголовков для предотвращения инъекций в заголовки с
67             использованием символов новой строки (<code>\n</code>).
68             В имени отправителя и именах получателей двойные кавычки заменяются
69             на одинарные, а угловые скобки на квадратные. Если эти символы
70             находятся в адресах электронной почты, то они удаляются.
71         </para>
73     </sect2>
74         
75     <sect2 id="zend.mail.introduction.sendmail">
77         <title>Конфигурирование транспорта, используемого по умолчанию</title>
79         <para>
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>.
93         </para>
95         <example id="zend.mail.introduction.sendmail.example-1">
97             <title>Передача дополнительных параметров транспорту Zend_Mail_Transport_Sendmail</title>
99             <para>
100                 Этот пример демонстрирует, как изменить заголовок Return-Path
101                 для функции <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
102             </para>
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');
113 $mail->send();
114 ]]></programlisting>
116         </example>
118         <note>
119             <title>Ограничения безопасного режима</title>
120             <para>
121                 Применение дополнительных параметров приведет к отказу в
122                 выполнении функции
123                 <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>,
124                 если <acronym>PHP</acronym> работает в безопасном режиме
125                 (safe mode).
126             </para>
127         </note>
129     </sect2>
130         
131 </sect1>
132 <!--
133 vim:se ts=4 sw=4 et: