Il peut etre très utile de pouvoir envoyer un mail, sans passer par la commande html mailto.
Cela permet, par exemple, d'eviter que des robots ne capturent votre adresse e-mail.
L'envoi de Mail en PHP est très aisé. Il suffit pour cela d'utiliser la fonction mail().
Les arguments de cette fonction sont:
- Adresse de destination
- Titre du message
- Contenu du message
- Options
Certains hebergeurs interdisent l'usage de la commande mail afin d'eviter les abus de type "spamming". Verifiez donc bien, avant de choisir un hebergeur, que celui-ci accepte la fonction mail(), surtout si celui-ci est gratuit
La fonction mail() est gébéralement appellée de la manière suivante:
Code :
<?php
mail($destinataire, $titre, $message);
?>
- $destinataire est l'e-mail de la personne qui va recevoir le mail. Par exemple, webmaster@webphp-free.com.
- $titre est le titre de m'e-mail. Par exemple: réponse au formulaire.
- $message est le coprs du message qui va contenir les informations.
Commençons par construire ce message:
Code :
<?php
$message = "nom: $nom\n";
$message .= "prenom: $prenom\n";
$message .="adresse: $adresse\n";
$message .="ville: $ville\n";
$message .="code ostal: $codepostal\n";
$message .="pays: $pays\n";
$message .="sexe: $sexe\n";
$message .="date de naissance: $datenaissance\n";
$message .="email: $email\n";
$message .="telephone: $telephone\n";
?>
La première ligne initialise la variable (=), les suivantes ajoutent des informations à la fin de la variable ( .=)
Vous remarquez l'usage systématique du caractère \n en fin de chaque ligne. Il s'agit du caractère de saut de ligne.
Jusqu'à maintenant, nous utilisions <br /> pour effectuer des sauts de ligne, car les informations générées par nos scripts s'affichaient dans un navigateur web; or, en HTML, un saut de ligne est représenté par la balise <br />.
Dans le cas présent, c'est un lecteur de mail (tu type de Outlook Express) qui va afficher l'information. Cette fois, les données sont considérées come du textez brut. Le caratcère de saut de ligne est alors représenté par un \n (ou \r\n sour Windows).
Il existe d'autres caractères spéciaux qui peuvent etre utilisés dans du texte brut, par exemple, le \t correspond à une tabulation.
Comme la plupart des fonctions PHP, mail() retourne aussi une valeur. Il s'agit du booléen qui indique si le mail a bien été envoye. Tester cette valeur peut donc etre interessant:
Code :
if (mail(bob@mail.com, "sujet", "test")) echo "envoi OK";
else echo "erreur lors de l'envoi.";
Voici ce qu'aurait pu donner notre script, si nous l'avions envoyé par mail:
nom: Damien
prenom: MATHIEU
adresse: 107 rue de la republique
ville: Paris
code postal: 92000
pays: France
sexe: Homme
date de naissance: 25 avril 1986
email: damien@mathieu.fr
telephone: 0800012000