Zend_Mail-Introduction.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 13910 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.mail.introduction">
  5. <title>Introduction</title>
  6. <sect2 id="zend.mail.introduction.getting-started">
  7. <title>Pour commencer</title>
  8. <para><classname>Zend_Mail</classname> fournit des fonctionnalités génériques pour écrire et envoyer des émail au format
  9. texte et MIME. Un émail peut-être envoyé avec <classname>Zend_Mail</classname> via le transporteur par défaut
  10. <classname>Zend_Mail_Transport_Sendmail</classname> ou via <classname>Zend_Mail_Transport_Smtp</classname>.</para>
  11. <example id="zend.mail.introduction.example-1">
  12. <title>Émail simple avec <classname>Zend_Mail</classname></title>
  13. <para>Un émail simple est composé d'un destinataire, d'un sujet, d'un message et d'un expéditeur. Pour
  14. envoyer ce genre de messages en utilisant <classname>Zend_Mail_Transport_Sendmail</classname>, vous pouvez faire comme
  15. ceci :</para>
  16. <programlisting role="php"><![CDATA[
  17. $mail = new Zend_Mail();
  18. $mail->setBodyText('Ceci est le texte du message.');
  19. $mail->setFrom('somebody@example.com', 'un expéditeur');
  20. $mail->addTo('somebody_else@example.com', 'un destinataire');
  21. $mail->setSubject('Sujet de test');
  22. $mail->send();
  23. ]]></programlisting>
  24. </example>
  25. <note>
  26. <title>Définitions minimales</title>
  27. <para>Pour envoyer un émail avec <classname>Zend_Mail</classname>, vous devez spécifier au moins un destinataire, un
  28. expéditeur (avec <code>setFrom()</code>), et un message (texte et/ou HTML).</para>
  29. </note>
  30. <para>Pour la plupart des attributs de l'émail, il y a des méthodes "get" pour lire les informations stockées
  31. dans l'objet mail. Pour plus de détails, merci de vous référer à la documentation de l'API. Une méthode spéciale
  32. est <code>getRecipients()</code>. Elle retourne un tableau avec toutes les adresses émail des destinataires qui
  33. ont été ajoutés avant l'appel de cette méthode.</para>
  34. <para>Pour des raisons de sécurité, <classname>Zend_Mail</classname> filtre tous les champs d'en-tête pour éviter tout
  35. problème d'injection d'en-têtes avec des caractères de nouvelles lignes (<code>\n</code>). Les guillemets
  36. doubles sont changés en guillemets simples et les crochets en parenthèses dans le nom des émetteurs et des
  37. destinataires. Si ces caractères sont dans l'adresse émail, ils sont enlevés.</para>
  38. <para>Vous pouvez aussi utiliser la plupart des méthodes de l'objet <classname>Zend_Mail</classname> via une interface
  39. fluide.</para>
  40. <programlisting role="php"><![CDATA[
  41. $mail = new Zend_Mail();
  42. $mail->setBodyText('Ceci est le texte du message.')
  43. ->setFrom('somebody@example.com', 'un expéditeur')
  44. ->addTo('somebody_else@example.com', 'un destinataire')
  45. ->setSubject('Sujet de test')
  46. ->send();
  47. ]]></programlisting>
  48. </sect2>
  49. <sect2 id="zend.mail.introduction.sendmail">
  50. <title>Configurer le transport sendmail par défaut</title>
  51. <para>Le transporteur par défaut pour une instance <classname>Zend_Mail</classname> est
  52. <classname>Zend_Mail_Transport_Sendmail</classname>. C'est essentiellement un paquet pour la fonction PHP <ulink
  53. url="http://php.net/mail"><code>mail()</code></ulink>. Si vous souhaitez fournir des paramètres additionnels à
  54. la fonction <ulink url="http://php.net/mail"><code>mail()</code></ulink>, créez simplement une nouvelle instance
  55. du transporteur et fournissez vos paramètres au constructeur. La nouvelle instance du transporteur peut ainsi
  56. devenir le transporteur par défaut <classname>Zend_Mail</classname>, ou il peut être fourni à la méthode
  57. <code>send()</code> de <classname>Zend_Mail</classname>.</para>
  58. <example id="zend.mail.introduction.sendmail.example-1">
  59. <title>Fournir des paramètres additionnels au transporteur
  60. <classname>Zend_Mail_Transport_Sendmail</classname></title>
  61. <para>Cet exemple montre comment changer le Return-Path de la fonction <ulink
  62. url="http://php.net/mail"><code>mail()</code></ulink>.</para>
  63. <programlisting role="php"><![CDATA[
  64. $tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
  65. Zend_Mail::setDefaultTransport($tr);
  66. $mail = new Zend_Mail();
  67. $mail->setBodyText('Ceci est le texte du message.');
  68. $mail->setFrom('somebody@example.com', 'un expéditeur');
  69. $mail->addTo('somebody_else@example.com', 'un destinataire');
  70. $mail->setSubject('TestSubject');
  71. $mail->send();
  72. ]]></programlisting>
  73. </example>
  74. <note>
  75. <title>Restrictions en mode Safe</title>
  76. <para>Les paramètres additionnels optionnels peuvent entraînés un échec de la fonction <ulink
  77. url="http://php.net/mail"><code>mail()</code></ulink> si PHP fonctionne en mode safe.</para>
  78. </note>
  79. </sect2>
  80. </sect1>