(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_send_mail — Envoie un mail encodé
$to,$subject,$message,$additional_headers = [],$additional_params = nullEnvoie un courrier électronique. Les en-têtes et le corps du message sont convertis et encodés en accord avec mb_language(). mb_send_mail() est une version adaptée de mail(). Voir la fonction mail() pour plus de détails.
to
to 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.
subjectLe sujet du mail.
messageLe message du mail.
additional_headers (optionnel)chaîne de caractères ou tableau à insérer à la fin de l'en-tête mail.
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 l'injection d'en-tête non désiré par des personnes malveillantes.
Si un tableau est fourni, ses clés sont les noms des en-têtes et ses valeurs sont les valeurs respectives des en-têtes.
Note:
Lors de l'envoi d'un mail, il doit contenir un en-tête
From. Il peut être défini via le paramètreadditional_headersou en tant que valeur par défaut dans le php.ini.Si on ne le fait pas, une erreur similaire à :
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missingsera émise. L'en-têteFromdéfinit égalementReturn-Pathsous Windows.
Note:
Si les messages ne sont pas reçus, tentez d'utiliser uniquement un LF (\n). Quelques agents de transfert de mails Unix (en particulier » qmail) 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 » RFC 2822.
additional_params
additional_params est une ligne
de paramètres MTA. Il est pratique lorsqu'on veut
définir un Return-Path correct lorsqu'on
utilise sendmail.
Ce paramètre est échappé par la fonction escapeshellcmd() en interne afin de prévenir les exécutions de commande. La fonction escapeshellcmd() 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é.
Étant donné que la fonction escapeshellcmd() 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 mail() ne peut plus être utilisée.
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 /etc/mail/trusted-users.
| Version | Description |
|---|---|
| 8.0.0 |
additional_params est désormais nullable.
|
| 7.2.0 |
Le paramètre additional_headers accepte désormais
un tableau.
|