<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 15215 -->
<!-- Reviewed: no -->
<sect1 id="zend.mail.introduction">

    <title>Einführung</title>

    <sect2 id="zend.mail.introduction.getting-started">

        <title>Beginnen</title>

        <para>
            <classname>Zend_Mail</classname> stellt verallgemeinerte Funktionalitäten zum Verfassen und Senden
            sowohl von Text E-Mails als auch von MIME-konformen mehrteiligen E-Mails bereit. Mails
            können mit <classname>Zend_Mail</classname> durch den Standardtransport <classname>Zend_Mail_Transport_Sendmail</classname>
            oder über <classname>Zend_Mail_Transport_Smtp</classname> versendet werden.
        </para>

        <example id="zend.mail.introduction.example-1">

            <title>Einfache E-Mail mit Zend_Mail</title>

            <para>
                Eine einfache E-Mail besteht aus einigen Empfängern, einem Betreff, einem Hauptteil und
                einem Versender. Um solch eine Mail durch Verwenden von <classname>Zend_Mail_Transport_Sendmail</classname>
                zu Verwenden muß folgendes getan werden:
            </para>

            <programlisting role="php"><![CDATA[
$mail = new Zend_Mail();
$mail->setBodyText('Dies ist der Text dieser E-Mail.');
$mail->setFrom('somebody@example.com', 'Ein Versender');
$mail->addTo('somebody_else@example.com', 'Ein Empfänger');
$mail->setSubject('TestBetreff');
$mail->send();
]]></programlisting>

        </example>

        <note>
            <title>Minimale Definitionen</title>
            <para>
                Um eine E-Mail mit <classname>Zend_Mail</classname> zu versenden, muß mindestens ein Empfänger,
                ein Versender (z.B., mit <code>setFrom()</code>) und ein Nachrichtentext (Text und/oder
                HTML) angeben werden.
            </para>
        </note>

        <para>
            Für die meisten Mailattribute gibt es "Get" Methoden, um die im Mailobjekt abgelegten
            Informationen zu lesen. Für weitere Einzelheiten kann in die API Dokumentation gesehen werden. Eine
            besondere Methode ist <code>getRecipients()</code>. Sie gibt ein Array mit allen E-Mail
            Adressen der Empfänger zurück, die vor dem Methodenaufruf hinzugefügt worden sind.
        </para>

        <para>
            Aus Sicherheitsgründen filtert <classname>Zend_Mail</classname> alle Felder des Nachrichtenkopfs, um
            eine "Header Injection" mittels Zeilenvorschubzeichen (<code>\n</code>) zu verhindern.
            Doppelte Anführungszeichen werden zu einzelnen gewechselt und runde Klammern zu eckigen sowohl im
            Namen des Senders als auch des Empfängers. Wenn die Marken in Emailadressen sind, werden diese
            Marken entfernt.
        </para>

        <para>
            Die meisten Methoden des <classname>Zend_Mail</classname> Objekts können mit dem bequemen Flüssigen Interface verwendet werden.
        </para>

        <programlisting role="php"><![CDATA[
$mail = new Zend_Mail();
$mail->setBodyText('Das ist der Text der Nachricht.')
    ->setFrom('somebody@example.com', 'Einige Sender')
    ->addTo('somebody_else@example.com', 'Einige Empfänger')
    ->setSubject('TestBetreff')
    ->send();
]]></programlisting>

    </sect2>

    <sect2 id="zend.mail.introduction.sendmail">

        <title>Den standardmäßigen Sendmail Transport konfigurieren</title>

        <para>
            Der standard Transport für eine <classname>Zend_Mail</classname> Instanz ist
            <classname>Zend_Mail_Transport_Sendmail</classname>. Es ist notwendigerweise ein Wrapper für PHP's
            <ulink url="http://php.net/mail"><code>mail()</code></ulink> Funktion. Wenn der
            <ulink url="http://php.net/mail"><code>mail()</code></ulink> Funktion zusätzliche Parameter
            mitgegeben werden sollen muß einfach eine neue Transport Instanz erzeugt werden und die Parameter
            dem Konstruktor übergeben werden. Die neue Transport Instanz kann dann als standard
            <classname>Zend_Mail</classname> Transport handeln oder der <code>send()</code> Methode von <classname>Zend_Mail</classname>
            übergeben werden.
        </para>

        <example id="zend.mail.introduction.sendmail.example-1">

            <title>Zusätzliche Parameter einem Zend_Mail_Transport_Sendmail Transport übergeben</title>

            <para>
                Dieses Beispiel zeigt wie der Rückgabe-Pfad der
                <ulink url="http://php.net/mail"><code>mail()</code></ulink> Funktion geändert werden kann.
            </para>

            <programlisting role="php"><![CDATA[
$tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
Zend_Mail::setDefaultTransport($tr);

$mail = new Zend_Mail();
$mail->setBodyText('Das ist ein Text der Mail.');
$mail->setFrom('somebody@example.com', 'Einige Sender');
$mail->addTo('somebody_else@example.com', 'Einige Empfänger');
$mail->setSubject('TestBetreff');
$mail->send();
]]></programlisting>

        </example>

        <note>
            <title>Safe Mode Einschränkungen</title>
            <para>
                Der zusätzliche optionale Parameter verursacht das die
                <ulink url="http://php.net/mail"><code>mail()</code></ulink> Funktion fehlschlägt wenn PHP im
                Safe Mode läuft.
            </para>
        </note>

    </sect2>

</sect1>
<!--
vim:se ts=4 sw=4 et:
-->