1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.mail.introduction">
<title>Introduction</title>
<sect2 id="zend.mail.introduction.getting-started">
<title>Pour commencer</title>
<para>
<classname>Zend_Mail</classname> fournit des fonctionnalités génériques pour
écrire et envoyer des courriels au format texte et <acronym>MIME</acronym>. Un courriel peut-être envoyé avec
<classname>Zend_Mail</classname> via le transporteur par défaut
<classname>Zend_Mail_Transport_Sendmail</classname> ou via
<classname>Zend_Mail_Transport_Smtp</classname>.
</para>
<example id="zend.mail.introduction.example-1">
<title>Courriel simple avec <classname>Zend_Mail</classname></title>
<para>
Un courriel simple est composé d'un destinataire, d'un sujet, d'un message et
d'un expéditeur. Pour envoyer ce genre de messages en utilisant
<classname>Zend_Mail_Transport_Sendmail</classname>, vous pouvez faire comme ceci :
</para>
<programlisting language="php"><![CDATA[
$mail = new Zend_Mail();
$mail->setBodyText('Ceci est le texte du message.');
$mail->setFrom('somebody@example.com', 'un expéditeur');
$mail->addTo('somebody_else@example.com', 'un destinataire');
$mail->setSubject('Sujet de test');
$mail->send();
]]></programlisting>
</example>
<note>
<title>Définitions minimales</title>
<para>
Pour envoyer un courriel avec <classname>Zend_Mail</classname>, vous devez
spécifier au moins un destinataire, un expéditeur (avec <methodname>setFrom()</methodname>), et
un message (texte et/ou HTML).
</para>
</note>
<para>
Pour la plupart des attributs du courriel, il y a des méthodes "get" pour lire les
informations stockées 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 est <methodname>getRecipients()</methodname>. Elle
retourne un tableau avec toutes les adresses mail des destinataires qui ont été ajoutés
avant l'appel de cette méthode.
</para>
<para>
Pour des raisons de sécurité, <classname>Zend_Mail</classname> filtre tous les
champs d'en-tête pour éviter tout problème d'injection d'en-têtes avec des caractères de
nouvelles lignes (<emphasis>\n</emphasis>). Les guillemets doubles sont changés en guillemets
simples et les crochets en parenthèses dans le nom des émetteurs et des destinataires.
Si ces caractères sont dans l'adresse mail, ils sont enlevés.
</para>
<para>
Vous pouvez aussi utiliser la plupart des méthodes de l'objet
<classname>Zend_Mail</classname> via une interface fluide.
</para>
<programlisting language="php"><![CDATA[
$mail = new Zend_Mail();
$mail->setBodyText('Ceci est le texte du message.')
->setFrom('somebody@example.com', 'un expéditeur')
->addTo('somebody_else@example.com', 'un destinataire')
->setSubject('Sujet de test')
->send();
]]></programlisting>
</sect2>
<sect2 id="zend.mail.introduction.sendmail">
<title>Configurer le transport sendmail par défaut</title>
<para>
Le transporteur par défaut pour une instance <classname>Zend_Mail</classname> est
<classname>Zend_Mail_Transport_Sendmail</classname>. C'est essentiellement un paquet
pour la fonction <acronym>PHP</acronym> <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>. Si
vous souhaitez fournir des paramètres additionnels à la fonction <ulink
url="http://php.net/mail"><methodname>mail()</methodname></ulink>, créez simplement une nouvelle
instance du transporteur et fournissez vos paramètres au constructeur. La nouvelle
instance du transporteur peut ainsi devenir le transporteur par défaut
<classname>Zend_Mail</classname>, ou il peut être fourni à la méthode
<methodname>send()</methodname> de <classname>Zend_Mail</classname>.
</para>
<example id="zend.mail.introduction.sendmail.example-1">
<title>Fournir des paramètres additionnels au transporteur
<classname>Zend_Mail_Transport_Sendmail</classname></title>
<para>
Cet exemple montre comment changer le Return-Path de la fonction <ulink
url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
</para>
<programlisting language="php"><![CDATA[
$tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
Zend_Mail::setDefaultTransport($tr);
$mail = new Zend_Mail();
$mail->setBodyText('Ceci est le texte du message.');
$mail->setFrom('somebody@example.com', 'un expéditeur');
$mail->addTo('somebody_else@example.com', 'un destinataire');
$mail->setSubject('TestSubject');
$mail->send();
]]></programlisting>
</example>
<note>
<title>Restrictions en mode Safe</title>
<para>
Les paramètres additionnels optionnels peuvent entraînés un échec de la
fonction <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink> si <acronym>PHP</acronym>
fonctionne en mode safe.
</para>
</note>
<warning>
<title>Transport Sendmail et Windows</title>
<para>
Comme le spécifie le manuel PHP, la fonction <methodname>mail()</methodname> a des
comportements différents sous Windows ou sur les systèmes de type *nix. Utiliser
le transport Sendmail sous Windows ne fonctionnera pas conjointement avec
<methodname>addBcc()</methodname>. La fonction <methodname>mail()</methodname>
enverra vers le destinataire BCC de manière à ce que tous les destinataires
puissent voir qu'il est destinataire !
</para>
<para>
Ainsi si vous voulez utiliser BCC sur un serveur Windows, utilisez le transport
SMTP pour l'envoi !
</para>
</warning>
</sect2>
</sect1>
|