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 !
Veillez à ce que ces 2 lignes soient bien ajoutées dans vos headers.
A présent on peut définir un message HTML et l’envoyer:
Avant de commencer…
Pour cela, assurez-vous que votre hébergeur autorise l’utilisation de la fonction mail(). En effet pendant un moment, Free n’autorisait pas l’utilisation de cette fonction.Envoi d’un mail au format texte:
Voici un exemple d’utilisation de la fonction mail() pour envoyer des messages au format texte.1 2 3 4 | $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.1 2 3 4 5 | $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.
1 2 | $headers .= 'Content-Type: text/plain; charset="iso-8859-1"' . "\n" ; $headers .= 'Content-Transfer-Encoding: 8bit' ; |
1 2 | $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.1 2 3 4 5 6 7 8 | if (mail( $destinataire , $sujet , $message , $headers )) { echo 'Le message a été envoyé' ; } else { echo 'Le message n\'a pu être envoyé' ; } |
Aucun commentaire:
Enregistrer un commentaire