Files
doc-fr/reference/mbstring/functions/mb-send-mail.xml
2021-09-24 04:13:47 +01:00

208 lines
7.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 92f1b8b177eb5730382abf9f27bae868f1bb636f Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.mb-send-mail" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mb_send_mail</refname>
<refpurpose>Envoie un mail encodé</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>mb_send_mail</methodname>
<methodparam><type>string</type><parameter>to</parameter></methodparam>
<methodparam><type>string</type><parameter>subject</parameter></methodparam>
<methodparam><type>string</type><parameter>message</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>string</type></type><parameter>additional_headers</parameter><initializer>[]</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>additional_params</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Envoie un courrier électronique.
Les en-têtes et le corps du message sont convertis et encodés en
accord avec <function>mb_language</function>. <function>mb_send_mail</function>
est une version adaptée de <function>mail</function>.
Voir la fonction <function>mail</function> pour plus de détails.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>to</parameter></term>
<listitem>
<para>
<parameter>to</parameter> est l'adresse de destination du mail. Les
adresses multiples peuvent être spécifiées en les séparant par des
virgules. Ce paramètre n'est pas encodé automatiquement.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>subject</parameter></term>
<listitem>
<para>
Le sujet du mail.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<para>
Le message du mail.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>additional_headers</parameter> (optionnel)</term>
<listitem>
<para>
&string; ou &array; à insérer à la fin de l'en-tête mail.
</para>
<para>
Ce paramètre est typiquement utilisé pour ajouter des en-têtes supplémentaires
(From, Cc, and Bcc). Les différents ajouts doivent être séparés par un
CRLF (\r\n). Ce paramètre doit être validé afin d'éviter d'injection
d'en-tête non désiré par des personnes malveillantes.
</para>
<para>
Si un &array; est fourni, ses clés sont les noms des en-têtes et ses
valeurs sont les valeurs respectives des en-têtes.
</para>
<note>
<para>
Lors de l'envoi d'un mail, il <emphasis>doit</emphasis> contenir
un en-tête <literal>From</literal>. Il peut être défini via le
paramètre <parameter>additional_headers</parameter> ou en tant que valeur
par défaut dans le &php.ini;.
</para>
<para>
Si vous ne le faîtes pas, une erreur similaire à :
<literal>Warning: mail(): "sendmail_from" not
set in php.ini or custom "From:" header missing</literal> sera émise.
L'en-tête <literal>From</literal> définie également
<literal>Return-Path</literal> sous Windows.
</para>
</note>
<note>
<para>
Si les messages ne sont pas reçus, tentez d'utiliser uniquement un LF
(\n). Quelques agents de transfère de mails Unix (en particulier
<link xlink:href="&url.qmail;">qmail</link>) remplace un LF par
un CRLF automatiquement (ce qui résulte en un doublement du CR si
CRLF est utilisé). Vous devez tenter cette correction en dernier recourt,
sachant qu'elle ne respecte pas la
<link xlink:href="&url.rfc;2822">RFC 2822</link>.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>additional_params</parameter></term>
<listitem>
<para>
<parameter>additional_params</parameter> est une ligne
de paramètres MTA. Il est pratique lorsque vous voulez
définir un <literal>Return-Path</literal> correct lorsque
vous utilisez <literal>sendmail</literal>.
</para>
<para>
Ce paramètre est échappé par la fonction <function>escapeshellcmd</function> en interne
afin de prévenir les exécutions de commande. La fonction <function>escapeshellcmd</function>
prévient d'exécution de commande, mais autorise les paramètres additionnels. Pour des
raisons de sécurité, ce paramètre doit être validé.
</para>
<para>
Depuis que la fonction <function>escapeshellcmd</function> est appliquée automatiquement en
interne, quelques caractères autorisés dans les adresses mails par les RFCs d'internet
ne peuvent plus être utilisés. Les programmes qui doivent utiliser ces caractères,
la fonction <function>mail</function> ne peut plus être utilisée.
</para>
<para>
L'utilisateur faisant fonctionner le serveur Web doit être ajouté comme utilisateur
de confiance dans la configuration de l'envoi de mails afin d'éviter l'ajout d'un
en-tête 'X-Warning' dans le message lorsque l'enveloppe de l'envoyeur (-f) est définie
comme utilisant cette méthode. Pour les utilisateurs de sendmail, ce fichier
se trouve en utilisant le chemin <filename>/etc/mail/trusted-users</filename>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>additional_params</parameter> is nullable now.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
Le paramètre <parameter>additional_headers</parameter> accepte désormais
un &array;.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mail</function></member>
<member><function>mb_encode_mimeheader</function></member>
<member><function>mb_language</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->