1. Preface▲
Bonjour à tous.
Ici, je vais vous présenter un petit tutoriel qui va vous permettre d'envoyer des mail en html !
Pourquoi envoyer des mails en html ?
Et bien il peut s'avérer très utile d'envoyer un mail dans certaines situation car un mail bien mis en forme, ça fait tout de suite plus sérieux et c'est plus joli !
De plus, sans le html, vous ne pouvez pas envoyer d'images dans votre mail...
Envoyer un mail en html, c'est bien ! Mais le mieux est de laisser choisire l'utilisateur sous quelle forme il désir recevoir son mail.
Il faut garder en tête que certaines personnes ne disposent pas de matériel leur permettant de lire les mails en html... (Certains puristes ne veulent pas de html dans leurs mails).
Pour ce tutoriel, je vais certes vous parler des mails en html, mais pour commencer, je vais vous faire une brève explication sur le mail texte.
2. Le mail non formaté▲
Ci-dessous, l'exemple d'un mail au format texte. Nous n'avons inséré aucune balise HTML pour la mise en page du texte.
$destinataire
=
"
lepape@le-vatican.fr
"
;
$objet
=
"
La super Newsletter de mon super site !
"
;
$message
=
"
Bonjour à tous !
\r\n
En ce moment sur mon super site, profitez d'un nouveau chat
\r\n
Et patati et patata...
"
;
$header
=
"
From: newsletter@monsupersite.com
\r\n\r\n
"
;
//Remarque : Les entêtes doivent toujours être terminées par \r\n\r\n pour éviter des injections de headers.
mail($destinataire
,
$objet
,
$message
,
$header
);
Dans ce code, nous déclarerons 4 variables qui contiennent les paramètres nécessaires à la fonction mail()Lien vers la documentation PHP au sujet de la fonction mail.
Variable | Ce qu'elle contient |
---|---|
$destinataire | C'est la variable qui contient l'adresse mail du destinataire du mail. |
$objet | Il s'agit de l'objet du mail |
$message | Il s'agit du mail en lui même. Vous constaterez des \r\n à certains endroits. Il s'agit de sauts à la ligne. |
$header | Ce champs est une entête. Il contient, dans cet exemple, l'adresse mail de l'émetteur après le From: . Vous pouvez mettre n'importe quelle adresse mail ou même un texte. |
3. Le mail en html▲
Le mail en html n'est pas très différent dans sa construction qu'un mail en texte.
En fait, la seule réelle différence se situe dans les header (entêtes) du mail.
Il vous faut juste indiquer qu'il s'agit d'un mail en html dans les headers et le tour et joué.
Pour cela, il faut définir le Content-type.
Bon allez, arrêtons de parler et passons à la pratique ! :o)
$destinataire
=
"
lepape@le-vatican.fr
"
;
$objet
=
"
La super Newsletter de mon super site !
"
;
//Le message et rédigé en html.
$message
=
"
<p>Bonjour à tous !<br />En ce moment sur mon super site, profitez d'un nouveau chat<br />
<a href=
\"
http://www.monsupersite.com/chat/
\"
><img src=
\"
http://www.monsupersite.com/images/img.png
\"
></a><br />...</p>
"
;
//Ajout du Content-type dans les entêtes.
$header
=
"
Content-type:text/html
\n
From:newsletter@monsupersite.com
\r\n\r\n
"
;
mail($destinataire
,
$objet
,
$message
,
$header
);
Comme vous pouvez le constater, envoyer un mail en html n'est pas compliqué !
Bon alors je vais vous faire quelques précisions quand même :
que ce soit pour les liens ou les images, vous devez fournir une adresse absolue !
Il existe deux types d'adresses : les adresses relatives et les adresses absolues.
Les adresses relatives fournissent l'adresse en partant de l'emplacement ou l'on est par exemple, si je souhaite afficher une image sur mon site et que celle ci est contenue dans le répertoire "images" qui lui est contenu dans le même répertoire que la page à partir de laquelle je veux afficher l'image; Alors l'adresse relative peut être images/monimage.gif.
Les adresses absolues fournissent une adresse qui sera correcte n' importe où (sur un autre site, dans un autre répertoire...). L'adresse absolue est un adresse complète comme celles que vous entrez dans votre navigateur web. Exemple : http://www.monsupersite.com/images/monimage.gif/ .
Si vous ne le faites pas les images ne pourront pas s'afficher et les liens dirigeront les visiteurs vers des pages qui n'existent pas...
4. Conclusion▲
J'espère que ce tutoriel vous a plu. Si vous voyez des erreurs, signalez les moi, c'est comme ça qu'on avance...