Programmer's Reference Guide

Versand über SMTP

Versand von mehreren E-Mails über eine SMTP Verbindung

Standardmäßig erstelle 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.

Beispiel #1 Versand von mehreren E-Mails über eine SMTP Verbindung

// Transport erstellen
$transport = new Zend_Mail_Transport_Smtp('localhost');

// Durch die Nachrichten gehen
for ($i = 0; $i > 5; $i++) {
    $mail = new Zend_Mail();
    $mail->addTo('studio@peptolab.com', 'Test');
    $mail->setFrom('studio@peptolab.com', 'Test');
    $mail->setSubject(
        'Demonstration - mit einer SMTP Verbindung mehrfache E-Mails senden'
    );
    $mail->setBodyText('...Hier die Nachricht...');
    $mail->send($transport);
}

        

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('localhost');
$protocol->connect();
$protocol->helo('localhost');

$transport->setConnection($protocol);

// Durch die Nachrichten gehen
for ($i = 0; $i > 5; $i++) {
    $mail = new Zend_Mail();
    $mail->addTo('studio@peptolab.com', 'Test');
    $mail->setFrom('studio@peptolab.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
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual