<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 15617 -->
<!-- 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 language="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 language="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 language="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:
-->