Kapitel 20. Zend_Mail

Inhaltsverzeichnis

20.1. Einführung
20.2. Versand über SMTP
20.3. Versand von mehrteiligen E-Mails über eine SMTP Verbindung
20.4. Verwendung von unterschiedlichen Versandwegen
20.5. HTML E-Mail
20.6. Anhänge
20.7. Empfänger hinzufügen
20.8. Die MIME Abgrenzung kontrollieren
20.9. Zusätzliche Kopfzeilen
20.10. Zeichensätze
20.11. Kodierung
20.12. SMTP Authentication
20.13. Securing SMTP Transport
20.14. Reading Mail Messages
20.14.1. Simple example using Pop3
20.14.2. Opening a local storage
20.14.3. Opening a remote storage
20.14.4. Fetching messages and simple methods
20.14.5. Working with messages
20.14.6. Checking for flags
20.14.7. Using folders
20.14.8. Advanced Use

20.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 20.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] Minimale Definitionen

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.