Programmer's Reference Guide
| Zend_Mail |
Einführung
Beginnen
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 den Standardtransport Zend_Mail_Transport_Sendmail
oder über Zend_Mail_Transport_Smtp versendet werden.
Beispiel #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 durch Verwenden von Zend_Mail_Transport_Sendmail
zu Verwenden muß folgendes getan werden:
$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();
Hinweis: Minimale Definitionen
Um eine E-Mail mitZend_Mailzu versenden, muß mindestens ein Empfänger, ein Versender (z.B., mitsetFrom()) und ein Nachrichtentext (Text und/oder HTML) angeben werden.
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 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.
Die meisten Methoden des Zend_Mail Objekts können mit dem bequemen Flüssigen Interface verwendet werden.
Ein flüssiges Interface bedeutet das jede Methode eine Referenz zu dem Objekt zurückgibt auf das es
aufgerufen wurde, so das sofort ein erneuter Aufruf einer anderen Methode stattfinden kann.
$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();
Den standardmäßigen Sendmail Transport konfigurieren
Der standard Transport für eine Zend_Mail Instanz ist
Zend_Mail_Transport_Sendmail. Es ist notwendigerweise ein Wrapper für PHP's
» mail() Funktion. Wenn der
» mail() 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
Zend_Mail Transport handeln oder der send() Methode von Zend_Mail
übergeben werden.
Beispiel #2 Zusätzliche Parameter einem Zend_Mail_Transport_Sendmail Transport übergeben
Dieses Beispiel zeigt wie der Rückgabe-Pfad der
» mail() Funktion geändert werden kann.
$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();
Hinweis: Safe Mode Einschränkungen
Der zusätzliche optionale Parameter verursacht das die »mail()Funktion fehlschlägt wenn PHP im Safe Mode läuft.
| Zend_Mail |
Select a Version
Languages Available
Components
Search the Manual
Navigation
- Programmierer Referenzhandbuch
- Programmierer Referenzhandbuch
- Zend_Mail
- Einführung
- Versand über SMTP
- Versand von mehreren E-Mails über eine SMTP Verbindung
- Verwendung von unterschiedlichen Versandwegen
- HTML E-Mail
- Anhänge
- Empfänger hinzufügen
- Die MIME Abgrenzung kontrollieren
- Zusätzliche Kopfzeilen
- Zeichensätze
- Kodierung
- SMTP Authentifizierung
- SMTP Übertragungen sichern
- Lesen von Mail Nachrichten
