mb_send_mail

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_send_mailEnvoie un mail encodé

Description

mb_send_mail(
    string$to,
    string$subject,
    string$message,
    array|string$additional_headers = [],
    ?string$additional_params = null
): bool

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.

Liste de paramètres

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ètre additional_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ête From définie également Return-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.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

VersionDescription
8.0.0additional_params is nullable now.
7.2.0 Le paramètre additional_headers accepte désormais un tableau.

Voir aussi

To Top