English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous apprendrez à utiliser la fonction mail() de PHP pour envoyer des e-mails texte ou HTML directement à partir de scripts.
L'envoi de messages e-mail est une pratique courante pour les applications web, par exemple, envoyer un e-mail de bienvenue aux utilisateurs qui créent un compte sur votre site, envoyer des newsletters à vos utilisateurs enregistrés, ou obtenir des retours ou des commentaires des utilisateurs via un formulaire de contact sur le site, etc.
Vous pouvez utiliser la fonction intégrée mail() de PHP pour créer et envoyer des messages e-mail en format texte ou HTML dynamique à partir d'une application PHP. La syntaxe de base de cette fonction peut être donnée de la manière suivante :
mail(to, subject, message, headers, parameters)
Le tableau suivant résume les paramètres de cette fonction.
Paramètres | Description |
---|---|
Obligatoire - Les paramètres suivants sont obligatoires | |
to | L'adresse e-mail du destinataire. |
subject | L'objet de l'e-mail à envoyer. Ce paramètre, la ligne d'objet, ne doit pas contenir de sauts de ligne (\n). |
message | Définir le message à envoyer. Chaque ligne doit être séparée par un saut de ligne LF (\n). Le nombre de lignes ne peut pas dépasser70 caractères. |
Optionnel - Les paramètres suivants sont optionnels | |
headers | Généralement utilisés pour ajouter des en-têtes supplémentaires, tels que 'expéditeur', 'copie', 'copie cachée'. Les en-têtes supplémentaires doivent être séparés par des retours chariot et des sauts de ligne CRLF (\r\n). |
parameters | Pour transmettre d'autres paramètres. |
La manière la plus simple d'envoyer un e-mail en utilisant PHP consiste à envoyer un e-mail texte. Dans l'exemple suivant, nous déclarons d'abord les variables-L'adresse e-mail du destinataire, la ligne d'objet et le corps du message-Ensuite, transmettez ces variables à la fonction mail() pour envoyer un e-mail.
<?php $to = '[email protected]'; $subject = 'Demande en mariage'; $message = 'Bonjour, Jian, es-tu prêt(e) de me marry?'; $from = '[email protected]'; // Envoyer un e-mail echo 'Votre e-mail a été envoyé avec succès.'; } else { echo 'Impossible d'envoyer l'e-mail. Veuillez réessayer.'; } ?>
Envoyer un e-mail au format HTML
Lors de l'envoi d'un message texte avec PHP, tout le contenu est traité comme un texte simple. Nous allons améliorer cette sortie et convertir l'e-mail en format HTML.
<?php $to = '[email protected]'; $subject = 'Demande en mariage'; $from = '[email protected]'; //Pour envoyer un e-mail HTML, il faut configurer le Content-type header $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //Créer un sujet d'e-mail $headers .= 'From: $from ' . Reply-To: $from . 'X-Mailer: PHP/' . phpversion(); //Écrire un e-mail HTML simple $message = '<html>'; $message .= '<h1 style="color:#f40;">Bonjour Jane !</h1"> $message .= '<p style="color:#080;font-size:18px;">Voulez-vous vous marier avec moi ?</p>'; $message .= '</html>'; //Envoyer un e-mail if(mail($to, $subject, $message, $headers)){ echo 'Votre e-mail a été envoyé avec succès.'; } else { echo 'Impossible d'envoyer l'e-mail. Veuillez réessayer.'; } ?>
Attention :La fonction PHP mail() fait partie du noyau PHP, mais vous devez configurer un serveur de messagerie sur votre ordinateur pour qu'elle fonctionne réellement.
Dans les deux prochains chapitres (Traitement des formulaires PHPet“Dans ce module