Zend_Mail-MultipleEmails.xml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <sect1 id="zend.mail.multiple-emails">
  2. <title>Wysyłanie wielu maili podczas jednego połączenia SMTP</title>
  3. <para>
  4. Domyślnie, połączenie SMTP jest tworzone jeden raz i używane przez cały czas
  5. działania skryptu. Możesz wysłać wiele wiadomości używając tego samego
  6. połączenia. Aby upewnić się że połączenie SMTP jest utrzymane, przed każdym
  7. dostarczeniem widomości wysyłana jest komenda RSET.
  8. </para>
  9. <example id="zend.mail.multiple-emails.example-1">
  10. <title>Wysyłanie wielu maili podczas jednego połączenia SMTP</title>
  11. <programlisting role="php"><![CDATA[
  12. // Tworzenie transportu
  13. $transport = new Zend_Mail_Transport_Smtp('localhost');
  14. // Pętla wysyłająca wiadomości
  15. for ($i = 0; $i > 5; $i++) {
  16. $mail = new Zend_Mail();
  17. $mail->addTo('studio@peptolab.com', 'Test');
  18. $mail->setFrom('studio@peptolab.com', 'Test');
  19. $mail->setSubject(
  20. 'Demonstration - Sending Multiple Mails per SMTP Connection'
  21. );
  22. $mail->setBodyText('...Your message here...');
  23. $mail->send($transport);
  24. }
  25. ]]>
  26. </programlisting>
  27. </example>
  28. <para>
  29. Jeśli potrzebujesz oddzielnego połączenia do każdego wysłania wiadomości,
  30. musisz tworzyć i niszczyć transport przed i po każdym wywołaniu metody
  31. <function>send()</function>. Alternatywnie możesz manipulować połączeniem
  32. między każdym wysyłaniem, poprzez dostęp do obiektu protokołu transportu.
  33. </para>
  34. <example id="zend.mail.multiple-emails.example-2">
  35. <title>Ręczna obsługa połączenia</title>
  36. <programlisting role="php"><![CDATA[
  37. // Tworzenie transportu
  38. $transport = new Zend_Mail_Transport_Smtp();
  39. require_once 'Zend/Mail/Protocol/Smtp.php';
  40. $protocol = new Zend_Mail_Protocol_Smtp('localhost');
  41. $protocol->connect();
  42. $protocol->helo('localhost');
  43. $transport->setConnection($protocol);
  44. // Pętla wysyłająca wiadomości
  45. for ($i = 0; $i > 5; $i++) {
  46. $mail = new Zend_Mail();
  47. $mail->addTo('studio@peptolab.com', 'Test');
  48. $mail->setFrom('studio@peptolab.com', 'Test');
  49. $mail->setSubject(
  50. 'Demonstration - Sending Multiple Mails per SMTP Connection'
  51. );
  52. $mail->setBodyText('...Your message here...');
  53. // Ręczna obsługa połączenia
  54. $protocol->rset();
  55. $mail->send($transport);
  56. }
  57. $protocol->quit();
  58. $protocol->disconnect();
  59. ]]>
  60. </programlisting>
  61. </example>
  62. </sect1>