Zend_Mail-MultipleEmails.xml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15156 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.mail.multiple-emails">
  5. <title>Versand von mehreren E-Mails über eine SMTP Verbindung</title>
  6. <para>
  7. Standardmäßig erstelle ein einzelner SMTP Transport eine einzelne Verbindung und verwendet Sie wieder
  8. wärend der Laufzeit der Skriptausführung. Es können mehrere E-Mails über diese SMTP Verbindung gesendet
  9. werden. Ein RSET Kommando wird vor jeder Ausführung angewendet um sicherzustellen das der korrekte
  10. SMTP Handschlag folgt.
  11. </para>
  12. <example id="zend.mail.multiple-emails.example-1">
  13. <title>Versand von mehreren E-Mails über eine SMTP Verbindung</title>
  14. <programlisting role="php"><![CDATA[
  15. // Transport erstellen
  16. $transport = new Zend_Mail_Transport_Smtp('localhost');
  17. // Durch die Nachrichten gehen
  18. for ($i = 0; $i > 5; $i++) {
  19. $mail = new Zend_Mail();
  20. $mail->addTo('studio@peptolab.com', 'Test');
  21. $mail->setFrom('studio@peptolab.com', 'Test');
  22. $mail->setSubject(
  23. 'Demonstration - mit einer SMTP Verbindung mehrfache E-Mails senden'
  24. );
  25. $mail->setBodyText('...Hier die Nachricht...');
  26. $mail->send($transport);
  27. }
  28. ]]></programlisting>
  29. </example>
  30. <para>
  31. Wenn man eine separate Verbindung für jeden Mailtransport haben will, muß der Transport vor und nach
  32. jedem Aufruf der <function>send()</function> Methode erstellt und gelöscht werden. Oder alternativ kann
  33. die Verbindung zwischen jedem Transport, durch Zugriff auf das Protokoll Objekt des Transportes,
  34. manipuliert werden.
  35. </para>
  36. <example id="zend.mail.multiple-emails.example-2">
  37. <title>Die Transportverbindung manuell kontrollieren</title>
  38. <programlisting role="php"><![CDATA[
  39. // Transport erstellen
  40. $transport = new Zend_Mail_Transport_Smtp();
  41. $protocol = new Zend_Mail_Protocol_Smtp('localhost');
  42. $protocol->connect();
  43. $protocol->helo('localhost');
  44. $transport->setConnection($protocol);
  45. // Durch die Nachrichten gehen
  46. for ($i = 0; $i > 5; $i++) {
  47. $mail = new Zend_Mail();
  48. $mail->addTo('studio@peptolab.com', 'Test');
  49. $mail->setFrom('studio@peptolab.com', 'Test');
  50. $mail->setSubject(
  51. 'Demonstration - mit einer SMTP Verbindung mehrfache E-Mails senden'
  52. );
  53. $mail->setBodyText('...Hier die Nachricht...');
  54. // Die Verbindung manuell kontrollieren
  55. $protocol->rset();
  56. $mail->send($transport);
  57. }
  58. $protocol->quit();
  59. $protocol->disconnect();
  60. ]]></programlisting>
  61. </example>
  62. </sect1>
  63. <!--
  64. vim:se ts=4 sw=4 et:
  65. -->