Zend_Mail-MultipleEmails.xml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 14978 -->
  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. ]]>
  29. </programlisting>
  30. </example>
  31. <para>
  32. Wenn man eine separate Verbindung für jeden Mailtransport haben will, muß der Transport vor und nach
  33. jedem Aufruf der <function>send()</function> Methode erstellt und gelöscht werden. Oder alternativ kann
  34. die Verbindung zwischen jedem Transport, durch Zugriff auf das Protokoll Objekt des Transportes,
  35. manipuliert werden.
  36. </para>
  37. <example id="zend.mail.multiple-emails.example-2">
  38. <title>Die Transportverbindung manuell kontrollieren</title>
  39. <programlisting role="php"><![CDATA[
  40. // Transport erstellen
  41. $transport = new Zend_Mail_Transport_Smtp();
  42. $protocol = new Zend_Mail_Protocol_Smtp('localhost');
  43. $protocol->connect();
  44. $protocol->helo('localhost');
  45. $transport->setConnection($protocol);
  46. // Durch die Nachrichten gehen
  47. for ($i = 0; $i > 5; $i++) {
  48. $mail = new Zend_Mail();
  49. $mail->addTo('studio@peptolab.com', 'Test');
  50. $mail->setFrom('studio@peptolab.com', 'Test');
  51. $mail->setSubject(
  52. 'Demonstration - mit einer SMTP Verbindung mehrfache E-Mails senden'
  53. );
  54. $mail->setBodyText('...Hier die Nachricht...');
  55. // Die Verbindung manuell kontrollieren
  56. $protocol->rset();
  57. $mail->send($transport);
  58. }
  59. $protocol->quit();
  60. $protocol->disconnect();
  61. ]]>
  62. </programlisting>
  63. </example>
  64. </sect1>
  65. <!--
  66. vim:se ts=4 sw=4 et:
  67. -->