Programmer's Reference Guide
| Versand über SMTP |
Versand von mehreren E-Mails über eine SMTP Verbindung
Standardmäßig erstellt ein einzelner SMTP Transport eine einzelne Verbindung und verwendet Sie wieder wärend der Laufzeit der Skriptausführung. Es können mehrere E-Mails über diese SMTP Verbindung gesendet werden. Ein RSET Kommando wird vor jeder Ausführung angewendet um sicherzustellen das der korrekte SMTP Handschlag folgt.
Optional kann auch eine standardmäßige From Emailadresse und Name definiert werden sowie ein standardmäßiger reply-to Header. Das kann durch die statischen Methoden setDefaultFrom() und setDefaultReplyTo() getan werden. Diese Standardwerte werden verwendet wenn man keine From oder Reply-to Adresse oder -Name angibt bis die Standardwerte zurückgesetzt werden (gelöscht). Das Zurücksetzen der Standardwerte kann durch die Verwendung von clearDefaultFrom() und clearDefaultReplyTo durchgeführt werden.
Beispiel #1 Versand von mehreren E-Mails über eine SMTP Verbindung
- // Transport erstellen
- $transport = new Zend_Mail_Transport_Smtp('mail.example.com', $config);
- // Setzt From & Reply-To Adressen
- // und Namen für alle Emails die zu versenden sind
- Zend_Mail::setDefaultFrom('sender@example.com', 'John Doe');
- Zend_Mail::setDefaultReplyTo('replyto@example.com','Jane Doe');
- // Durch die Nachrichten gehen
- for ($i = 0; $i < 5; $i++) {
- $mail = new Zend_Mail();
- $mail->addTo('studio@example.com', 'Test');
- $mail->setFrom('studio@example.com', 'Test');
- $mail->setSubject(
- 'Demonstration - mit einer SMTP Verbindung mehrfache E-Mails senden'
- );
- $mail->setBodyText('...Hier die Nachricht...');
- $mail->send($transport);
- }
- // Setzt die Standardwerte zurück
- Zend_Mail::clearDefaultFrom();
- Zend_Mail::clearDefaultReplyTo();
Wenn man eine separate Verbindung für jeden Mailtransport haben will, muß der Transport vor und nach jedem Aufruf der send() Methode erstellt und gelöscht werden. Oder alternativ kann die Verbindung zwischen jedem Transport, durch Zugriff auf das Protokoll Objekt des Transportes, manipuliert werden.
Beispiel #2 Die Transportverbindung manuell kontrollieren
- // Transport erstellen
- $transport = new Zend_Mail_Transport_Smtp();
- $protocol = new Zend_Mail_Protocol_Smtp('mail.example.com');
- $protocol->connect();
- $protocol->helo('mail.example.com');
- $transport->setConnection($protocol);
- // Durch die Nachrichten gehen
- for ($i = 0; $i < 5; $i++) {
- $mail = new Zend_Mail();
- $mail->addTo('studio@example.com', 'Test');
- $mail->setFrom('studio@example.com', 'Test');
- $mail->setSubject(
- 'Demonstration - mit einer SMTP Verbindung mehrfache E-Mails senden'
- );
- $mail->setBodyText('...Hier die Nachricht...');
- // Die Verbindung manuell kontrollieren
- $protocol->rset();
- $mail->send($transport);
- }
- $protocol->quit();
- $protocol->disconnect();
| Versand über SMTP |
Select a Version
Languages Available
Components
Search the Manual
Navigation
- Zend Framework's Referenzhandbuch
- Zend Framework's Referenzhandbuch
- Zend Framework's Referenz
- 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
