<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.mbstring.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.mb-send-mail.php',
    1 => 'mb_send_mail',
    2 => 'Envoie un mail encod&eacute;',
  ),
  'up' => 
  array (
    0 => 'ref.mbstring.php',
    1 => 'Fonctions sur les cha&icirc;nes de caract&egrave;res multioctets',
  ),
  'prev' => 
  array (
    0 => 'function.mb-scrub.php',
    1 => 'mb_scrub',
  ),
  'next' => 
  array (
    0 => 'function.mb-split.php',
    1 => 'mb_split',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/mbstring/functions/mb-send-mail.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.mb-send-mail" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">mb_send_mail</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.6, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">mb_send_mail</span> &mdash; <span class="dc-title">Envoie un mail encodé</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.mb-send-mail-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>mb_send_mail</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$to</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$subject</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$message</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$additional_headers</code><span class="initializer"> = []</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$additional_params</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="para rdfs-comment">
   Envoie un courrier électronique.
   Les en-têtes et le corps du message sont convertis et encodés en
   accord avec <span class="function"><a href="function.mb-language.php" class="function">mb_language()</a></span>. <span class="function"><strong>mb_send_mail()</strong></span>
   est une version adaptée de <span class="function"><a href="function.mail.php" class="function">mail()</a></span>.
   Voir la fonction <span class="function"><a href="function.mail.php" class="function">mail()</a></span> pour plus de détails.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.mb-send-mail-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">to</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">to</code> est l&#039;adresse de destination du mail. Les
       adresses multiples peuvent être spécifiées en les séparant par des
       virgules. Ce paramètre n&#039;est pas encodé automatiquement.
      </p>
     </dd>
    
    
     <dt><code class="parameter">subject</code></dt>
     <dd>
      <p class="para">
       Le sujet du mail.
      </p>
     </dd>
    
    
     <dt><code class="parameter">message</code></dt>
     <dd>
      <p class="para">
       Le message du mail.
      </p>
     </dd>
    
    
     <dt><code class="parameter">additional_headers</code> (optionnel)</dt>
     <dd>
      <p class="para">
       <a href="language.types.string.php" class="link">chaîne de caractères</a> ou <a href="language.types.array.php" class="link">tableau</a> à insérer à la fin de l&#039;en-tête mail.
      </p>
      <p class="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&#039;éviter l&#039;injection
       d&#039;en-tête non désiré par des personnes malveillantes.
      </p>
      <p class="para">
       Si un <a href="language.types.array.php" class="link">tableau</a> est fourni, ses clés sont les noms des en-têtes et ses
       valeurs sont les valeurs respectives des en-têtes.
      </p>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Lors de l&#039;envoi d&#039;un mail, il <em>doit</em> contenir
        un en-tête <code class="literal">From</code>. Il peut être défini via le
        paramètre <code class="parameter">additional_headers</code> ou en tant que valeur
        par défaut dans le <var class="filename">php.ini</var>.
       </p>
       <p class="para">
        Si on ne le fait pas, une erreur similaire à :
        <code class="literal">Warning: mail(): &quot;sendmail_from&quot; not
        set in php.ini or custom &quot;From:&quot; header missing</code> sera émise.
        L&#039;en-tête <code class="literal">From</code> définit également
        <code class="literal">Return-Path</code> sous Windows.
       </p>
      </p></blockquote>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Si les messages ne sont pas reçus, tentez d&#039;utiliser uniquement un LF
        (\n). Quelques agents de transfert de mails Unix (en particulier
        <a href="http://cr.yp.to/qmail.html" class="link external">&raquo;&nbsp;qmail</a>) remplacent un LF par
        un CRLF automatiquement (ce qui résulte en un doublement du CR si
        CRLF est utilisé). Il faut tenter cette correction en dernier recours,
        sachant que cela ne respecte pas la
        <a href="https://datatracker.ietf.org/doc/html/rfc2822" class="link external">&raquo;&nbsp;RFC 2822</a>.
       </p>
      </p></blockquote>
     </dd>
    
    
     <dt><code class="parameter">additional_params</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">additional_params</code> est une ligne
       de paramètres MTA. Il est pratique lorsqu&#039;on veut 
       définir un <code class="literal">Return-Path</code> correct lorsqu&#039;on
       utilise <code class="literal">sendmail</code>.
      </p>
      <p class="para">
       Ce paramètre est échappé par la fonction <span class="function"><a href="function.escapeshellcmd.php" class="function">escapeshellcmd()</a></span> en interne
       afin de prévenir les exécutions de commande. La fonction <span class="function"><a href="function.escapeshellcmd.php" class="function">escapeshellcmd()</a></span>
       prévient d&#039;exécution de commande, mais autorise les paramètres additionnels. Pour des
       raisons de sécurité, ce paramètre doit être validé.
      </p>
      <p class="para">
       Étant donné que la fonction <span class="function"><a href="function.escapeshellcmd.php" class="function">escapeshellcmd()</a></span> est appliquée automatiquement en
       interne, quelques caractères autorisés dans les adresses mails par les RFCs d&#039;internet
       ne peuvent plus être utilisés. Les programmes qui doivent utiliser ces caractères,
       la fonction <span class="function"><a href="function.mail.php" class="function">mail()</a></span> ne peut plus être utilisée.
      </p>
      <p class="para">
       L&#039;utilisateur faisant fonctionner le serveur Web doit être ajouté comme utilisateur
       de confiance dans la configuration de l&#039;envoi de mails afin d&#039;éviter l&#039;ajout d&#039;un
       en-tête &#039;X-Warning&#039; dans le message lorsque l&#039;enveloppe de l&#039;envoyeur (-f) est définie
       comme utilisant cette méthode. Pour les utilisateurs de sendmail, ce fichier 
       se trouve en utilisant le chemin <var class="filename">/etc/mail/trusted-users</var>.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.mb-send-mail-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Cette fonction retourne <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en cas de succès ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.mb-send-mail-changelog">
  <h3 class="title">Historique</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">additional_params</code> est désormais nullable.
      </td>
     </tr>

      <tr>
       <td>7.2.0</td>
       <td>
        Le paramètre <code class="parameter">additional_headers</code> accepte désormais
        un <a href="language.types.array.php" class="link">tableau</a>.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.mb-send-mail-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.mail.php" class="function" rel="rdfs-seeAlso">mail()</a> - Envoi de mail</span></li>
    <li><span class="function"><a href="function.mb-encode-mimeheader.php" class="function" rel="rdfs-seeAlso">mb_encode_mimeheader()</a> - Encode une cha&icirc;ne pour un en-t&ecirc;te MIME</span></li>
    <li><span class="function"><a href="function.mb-language.php" class="function" rel="rdfs-seeAlso">mb_language()</a> - D&eacute;finit/R&eacute;cup&egrave;re le langage courant</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>