Sep 16 2010

PHP / Envoyez un mail

Un utilisateur s’inscrit sur votre site et vous souhaitez envoyer un mail de bienvenue à celui-ci ? Découvrez comment envoyer des mails à l’aide de PHP !

Avant de commencer…

Pour cela, assurez-vous que votre hébergeur autorise l’utilisation de la fonction mail().

Envoi d’un mail au format texte

Voici un exemple d’utilisation de la fonction mail() pour envoyer des messages au format texte.

$destinataire = "moi@fai.fr";
$sujet = "Salut";
$message = "Ceci est un message de test";
mail($destinataire, $sujet, $message);

Utilisez les headers

Par exemple si vous souhaitez indiquer l’expéditeur, l’adresse de réponse, les adresses en Cc ou Cci, etc.. mais également l’encodage de votre texte.

$headers ='From: "Nom Expediteur"<adresse@fai.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Cc: email1@fai.fr, email2@fai.fr'."\n";
$headers .='Bcc: email3@fai.fr, email4@fai.fr'."\n";
mail($destinataire, $sujet, $message, $headers);

En-têtes disponibles

  • From: l’adresse de l’expéditeur
  • Reply-To: l’adresse de réponse (au cas où celle de l’expéditeur est différente)
  • Cc: copie du message aux adresses indiquées séparées par des ;
  • Bcc: copie caché du message aux adresses indiquées séparées par des ;
  • Content-Type: type MIME du mail et charset (jeu de caractères)
  • Content-Transfer-Encoding: Encodage du mail
  • X-Priority: Permet de définir le niveau de priorité du mail envoyé. Entre 1 et 5. Plus ce chiffre est faible, plus haute est la priorité.
  • Disposition-Notification-To: Permet de spécifier l’adresse mail de retour pour la confirmation de lecture.

Envoyez un mail au format HTML:

Il est également possible d’envoyer un mail au format HTML, ce qui vous permet de personnaliser votre texte, mettre des images et bien plus…

Veillez à ce que ces 2 lignes soient bien ajoutées dans vos headers.

$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit'; 

A présent on peut définir un message HTML et l’envoyer:

$message ="<html><head><title>Un titre ici</title></head><body>Hello World!</body></html>"; 
mail($destinataire, $sujet, $message, $headers);

Petit conseil:

N’oubliez pas de vérifier si l’email a bien été envoyé. Pour cela, la fonction renvoi une valeur de type booléen (true/false) selon le cas.

if(mail($destinataire, $sujet, $message, $headers))
{
     echo 'Le message a été envoyé';
}
else
{
     echo 'Le message n\'a pu être envoyé';
}

Articles similaires:

Lien Permanent pour cet article : http://jbvigneron.fr/2010/09/16/php-envoyez-un-mail/

1 ping

  1. […] This post was Twitted by jbvigneron […]

Laisser un commentaire

Your email address will not be published.

css.php