Kapitel 12. Zend_Mail

Inhaltsverzeichnis

12.1. Einführung
12.2. Versand über SMTP
12.3. Versand von mehrteiligen E-Mails über eine SMTP Verbindung
12.4. Verwendung von unterschiedlichen Versandwegen
12.5. HTML E-Mail
12.6. Anhänge
12.7. Empfänger hinzufügen
12.8. Die MIME Abgrenzung kontrollieren
12.9. Zusätzliche Kopfzeilen
12.10. Zeichensätze
12.11. Kodierung
12.12. SMTP Authentifizierung

12.1. Einführung

Zend_Mail 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 Zend_Mail durch die in PHP integrierte mail() Funktion oder direkt über eine SMTP Verbindung versandt werden.

Beispiel 12.1. Einfache E-Mail mit Zend_Mail

Eine einfache E-Mail besteht aus einigen Empfängern, einem Betreff, einem Hauptteil und einem Versender. Um solch eine Mail mit Hilfe der mail() PHP Funktion zu versenden, musst Du folgendes tun:

<?php
require_once 'Zend/Mail.php';
$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();
?>       
[Anmerkung] Anmerkung
Um eine E-Mail mit Zend_Mail zu versenden, musst du mindestens einen Empfänger, einen Versender (z.B., mit setFrom()) und einen Nachrichtentext (Text und/oder HTML) angeben.

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

Aus Sicherheitsgründen filtert Zend_Mail alle Felder des Nachrichtenkopfs, um eine "Header Injection" mittels Zeilenvorschubzeichen (\n) zu verhindern.