<?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:
-->
