(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
= null
Envoie 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.
subject
Le sujet du mail.
message
Le 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 d'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_headers
ou en tant que valeur par défaut dans le php.ini.Si vous ne le faîtes pas, une erreur similaire à :
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing
sera émise. L'en-têteFrom
définie égalementReturn-Path
sous Windows.
Note:
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 » qmail) 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 » RFC 2822.
additional_params
additional_params
est une ligne
de paramètres MTA. Il est pratique lorsque vous voulez
définir un Return-Path
correct lorsque
vous utilisez 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é.
Depuis 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.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Version | Description |
---|---|
8.0.0 |
additional_params is nullable now.
|
7.2.0 |
Le paramètre additional_headers accepte désormais
un tableau.
|