PHP mail est la fonction PHP intégrée qui est utilisée pour envoyer des e-mails à partir de scripts PHP.
C’est un moyen économique d’informer les utilisateurs des événements importants. De permettre aux utilisateurs de vous contacter par e-mail en fournissant un formulaire de contact sur le site Web qui envoie par e-mail le contenu fourni.
Les développeurs peuvent l’utiliser pour recevoir des erreurs système par e-mail.
Vous pouvez l’utiliser pour envoyer un e-mail à vos abonnés à la newsletter. Vous pouvez l’utiliser pour envoyer des liens de réinitialisation de mot de passe aux utilisateurs qui oublient leur mot de passe.
Vous pouvez l’utiliser pour envoyer par e-mail des liens d’activation/de confirmation.
Ceci est utile lors de l’enregistrement des utilisateurs et de la vérification de leurs adresses e-mail
La fonction mail() :
boolean mail ( string destinataire(s) , string objet, string message [, string additional_headers [, string options]])
(Le paramètre option existe depuis la version 4.0.5 du PHP)
mail() retourne TRUE si le mail est envoyé et FALSE dans le cas contraire.
La fonction mail () envoi automatiquement le texte “message” au destinataire(s).
Si l’on veut envoyer un mail à plusieurs destinataires, il faut séparer les adresses par des virgules.
L’envoi d’emails avec pièces jointes ou contenus particulier (par exemple emails en HTML), pourra être également effectué avec la fonction mail(). Cependant il faut respecter les règles de l’encodage MIME.
Voici un exemple simple d’envoi de mail au format texte :
// On initialise les variables
$destinataire = « personne@qui_recevra_le_mail.com »;
$objet = «Premier test !» ;
$message = « C’est un premier test d’envoi d’un email en php.\n » ;
$message .= « Ceci est la forme la plus simple de l’emploi de la fonction mail() \n »;
// On envoi l’email
if ( mail($destinataire, $objet, $message) ) echo « Envoi du mail réussi. »
else echo « Echec de l’envoi du mail. »
Maintenant un exemple plus complet utilisant les entêtes supplémentaires, et la gestion de l’envoi du mail au format html :
Les en-têtes doivent être séparés avec \n.
Attention ! Sous windows 32bits, vous devez utiliser \r\n pour les séparer. Les en-têtes cc: et bcc: sont sensibles à la casse, il faudra donc les écrire Cc: et Bcc: sous Win32
<?
// On initialise les variables
$destinataire = "personne@qui_recevra_le_mail.com";
$objet = "Voici une liste de sites à visiter." ;
$message = '
<html>
<head>
<title>Liste de site à visiter</title>
</head>
<body>
<table>
<tr>
<th width="59"><font color="#FF0000">Nom</font></th>
<th width="94"><font color="#FF0000">Adresse</font></th>
</tr>
<tr>
<td>Site de la commune de Felzins</td>
<td> http://www.unsupersite.fr </td>
</tr>
<tr>
<td>Site de la société BC Relocation</td>
<td>http://www.monsite.fr</td>
</tr>
<br>
<h3>Donne moi ton avis. </h3>
</table>
</body>
</html>
'; ?>
/* Si l’on veut envoyer un mail au format HTML, il faut configurer le type Content-type. */
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
/* Quelques types d’entêtes : errors, From cc's, bcc's, etc */
$headers .= "From: Des trucs à Web <totor@exemple.com>\n";
$headers .= "Cc: test@exemple.com\n";
$headers .= "Bcc: autre.destinataire@exemple.com\n";
// On envoi l’email
if ( mail($destinataire, $objet, $message, $headers) ) echo "Envoi du mail réussi.";
else echo "Echec de l’envoi du mail.";
?>