Fonction mail() de PHP
Exemple
Envoyer un email simple :
<?php
// le message
$msg = "Première ligne de texte\nDeuxième ligne de texte";
// utiliser wordwrap() si les lignes dépassent 70 caractères
$msg = wordwrap($msg,70);
// envoyer l'email
mail("someone@example.com","Mon sujet",$msg);
?> Définition et Utilisation
La fonction mail() permet d'envoyer des emails directement depuis un script.
Syntaxe
mail( to,sujet,message,en-têtes,paramètres ); Valeurs des Paramètres
| Paramètre | Description |
|---|---|
| to | Requis. Spécifie le(s) destinataire(s) de l'email. |
| subject | Requis. Spécifie le sujet de l'email. Remarque : Ce paramètre ne peut pas contenir de caractères de nouvelle ligne. |
| message | Requis. Définit le message à envoyer. Chaque ligne doit être séparée par un LF (\n). Les lignes ne doivent pas dépasser 70 caractères. Remarque Windows : Si un point est trouvé au début d'une ligne dans le message, il peut être supprimé. Pour résoudre ce problème, remplacez le point par un double point : |
| headers | Optionnel. Spécifie des en-têtes supplémentaires, comme De, Cc et Bcc. Les en-têtes supplémentaires doivent être séparés par un CRLF (\r\n). Remarque : Lors de l'envoi d'un email, il doit contenir un en-tête De. Cela peut être défini avec ce paramètre ou dans le fichier php.ini. |
| parameters | Optionnel. Spécifie un paramètre supplémentaire pour le programme sendmail (celui défini dans le paramètre de configuration sendmail_path). (c'est-à-dire que cela peut être utilisé pour définir l'adresse de l'expéditeur de l'enveloppe lors de l'utilisation de sendmail avec l'option -f sendmail). |
Détails Techniques
| Valeur de Retour : | Renvoie la valeur de hachage du paramètre address , ou FALSE en cas d'échec. Remarque : Gardez à l'esprit que même si l'email a été accepté pour livraison, cela ne signifie PAS que l'email a réellement été envoyé et reçu ! |
|---|---|
| Version PHP : | 4+ |
| Journal des Modifications PHP : | PHP 7.2 : Le paramètre headers accepte également un tableau PHP 5.4 : Protection contre l'injection d'en-têtes ajoutée pour le paramètre headers . PHP 4.3.0 : (Windows uniquement) Tous les en-têtes personnalisés (comme De, Cc, Bcc et Date) sont pris en charge et ne sont pas sensibles à la casse. PHP 4.2.3 : Le paramètre parameter est désactivé en mode sécurisé. PHP 4.0.5 : Le paramètre parameter a été ajouté. |
Plus d'Exemples
Envoyer un email avec des en-têtes supplémentaires :
<?php
$to = "somebody@example.com";
$subject = "Mon sujet";
$txt = "Bonjour le monde !";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?> Envoyer un email HTML :
<?php
$to = "somebody@example.com, somebodyelse@example.com";
$subject = "Email HTML";
$message = "
<html>
<head>
<title>Email HTML</title>
</head>
<body>
<p>Cet email contient des balises HTML !</p>
<table>
<tr>
<th>Prénom</th>
<th>Nom</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
</tr>
</table>
</body>
</html>
";
// Toujours définir le type de contenu lors de l'envoi d'un email HTML
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// Plus d'en-têtes
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
?>