Kapitel 11. Zend_Mail

Inhaltsverzeichnis

11.1. Einführung
11.2. Versand über SMTP
11.3. Versand von mehrteiligen E-Mails über eine SMTP Verbindung
11.4. Verwendung von unterschiedlichen Versandwegen
11.5. HTML E-Mail
11.6. Anhänge
11.7. Empfänger hinzufügen
11.8. Die MIME Abgrenzung kontrollieren
11.9. Zusätzliche Kopfzeilen
11.10. Zeichensätze
11.11. Kodierung
11.12. SMTP Authentifizierung

11.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 11.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.