Zend_Mail-MultipleEmails.xml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15617 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.mail.multiple-emails">
  5. <title>Envoyer plusieurs émail par connexion SMTP</title>
  6. <para>
  7. Par défaut un transport SMTP unique crée une connexion unique et la réutilise pour
  8. toute la durée de la vie du script. Vous pouvez envoyer plusieurs émail à travers cette
  9. connexion SMTP. Une commande RSET doit être envoyée avant chaque distribution pour garantir
  10. que le dialogue SMTP correct est respecté.
  11. </para>
  12. <example id="zend.mail.multiple-emails.example-1">
  13. <title>Envoyer plusieurs émail par connexion SMTP</title>
  14. <programlisting language="php"><![CDATA[
  15. // Créer un transport
  16. $transport = new Zend_Mail_Transport_Smtp('localhost');
  17. // Boucle à travers les messages
  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. 'Démonstration - Envoyer plusieurs emails par connexion SMTP'
  24. );
  25. $mail->setBodyText('...Votre message ici...');
  26. $mail->send($transport);
  27. }
  28. ]]></programlisting>
  29. </example>
  30. <para>
  31. Si vous voulez avoir une connexion SMTP séparée pour chaque distribution d'émail, vous
  32. devez créer et détruire votre transport avant et après chaque appel de la méthode
  33. <methodname>send()</methodname>. Ou sinon, vous pouvez manipuler la connexion entre chaque distribution
  34. en accédant à l'objet de protocole de transport.
  35. </para>
  36. <example id="zend.mail.multiple-emails.example-2">
  37. <title>Contrôler manuellement la connexion de transport</title>
  38. <programlisting language="php"><![CDATA[
  39. // Créer un transport
  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. // Boucle à travers les messages
  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. 'Démonstration - Envoyer plusieurs emails par connexion SMTP'
  52. );
  53. $mail->setBodyText('...Votre message ici...');
  54. // Contrôler manuellement la connexion
  55. $protocol->rset();
  56. $mail->send($transport);
  57. }
  58. $protocol->quit();
  59. $protocol->disconnect();
  60. ]]></programlisting>
  61. </example>
  62. </sect1>