Zend_Mail-MultipleEmails.xml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 13018 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.mail.multiple-emails">
  5. <title>Envoyer plusieurs émail par connexion SMTP</title>
  6. <para>Par défaut un transport SMTP unique crée une connexion unique et la réutilise pour toute la durée de la vie du
  7. script. Vous pouvez envoyer plusieurs émail à travers cette connexion SMTP. Une commande RSET doit être envoyée
  8. avant chaque distribution pour garantir que le dialogue SMTP correct est respecté.</para>
  9. <example id="zend.mail.multiple-emails.example-1">
  10. <title>Envoyer plusieurs émail par connexion SMTP</title>
  11. <programlisting role="php"><![CDATA[
  12. // Créer un transport
  13. $transport = new Zend_Mail_Transport_Smtp('localhost');
  14. // Boucle à travers les messages
  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. 'Démonstration - Envoyer plusieurs emails par connexion SMTP'
  21. );
  22. $mail->setBodyText('...Votre message ici...');
  23. $mail->send($transport);
  24. }
  25. ]]></programlisting>
  26. </example>
  27. <para>Si vous voulez avoir une connexion SMTP séparée pour chaque distribution d'émail, vous devez créer et détruire
  28. votre transport avant et après chaque appel de la méthode <code>send()</code>. Ou sinon, vous pouvez manipuler la
  29. connexion entre chaque distribution en accédant à l'objet de protocole de transport.</para>
  30. <example id="zend.mail.multiple-emails.example-2">
  31. <title>Contrôler manuellement la connexion de transport</title>
  32. <programlisting role="php"><![CDATA[
  33. // Créer un transport
  34. $transport = new Zend_Mail_Transport_Smtp();
  35. $protocol = new Zend_Mail_Protocol_Smtp('localhost');
  36. $protocol->connect();
  37. $protocol->helo('localhost');
  38. $transport->setConnection($protocol);
  39. // Boucle à travers les messages
  40. for ($i = 0; $i > 5; $i++) {
  41. $mail = new Zend_Mail();
  42. $mail->addTo('studio@peptolab.com', 'Test');
  43. $mail->setFrom('studio@peptolab.com', 'Test');
  44. $mail->setSubject(
  45. 'Démonstration - Envoyer plusieurs emails par connexion SMTP'
  46. );
  47. $mail->setBodyText('...Votre message ici...');
  48. // Contrôler manuellement la connexion
  49. $protocol->rset();
  50. $mail->send($transport);
  51. }
  52. $protocol->quit();
  53. $protocol->disconnect();
  54. ]]></programlisting>
  55. </example>
  56. </sect1>