PHP : Envoyer des mails en HTML et avec des pièces jointes

La fonction mail de PHP est majoritairement utilisée pour envoyer du texte simple ou parfois du HTML quand l’utilisateur maitrise les Content-type. Cependant, elle nous permet un nombre de choses incroyable ! A vrai dire, on peut faire pareil que n’importe quel client mail, car, c’est nous qui choisissons ce que l’on met dans la source…

Le HTML dans le mail

Le mail n’est pas réservé à un usage de texte simple, il nous permet (grâce aux webmails et clients de messagerie compatible) d’afficher du HTML dans le corps du mail.

Cependant, c’est la même histoire que pour l’encodage des pages web (cf: Le problème d’encodage : Des accents en points d’intérrogation) sauf qu’en plus, – mais c’est très simple – il faut indiquer au client de messagerie quel sorte de message on lui envoi (texte brute, html, fichier binaire..). Continue reading PHP : Envoyer des mails en HTML et avec des pièces jointes

facebooktwittergoogle_plusredditpinterestlinkedinmail

Le problème d’encodage : Des accents en points d’intérrogation

Le problème

Jamais il vous ai arriver pendant la création d’un script (surtout avec des langages dynamiques) d’avoir à la place des accents normaux (é, è, à, ô…) des points d’intérogations :

O? ?aient les p?uches ?

C’est simpa comme texte… Parce qu’en plus, il vous bouffe la lettre d’après – quand il y en a une. Ce cas de figure apparaît quand la page est encodée en ISO-8859-1 mais que dans les entêtes ou dans la balise méta (nous allons voir ça plus bas), il est indiqué que la page est en UTF-8). Mais rassurez-vous, on peut aussi avoir des signes encores plus originaux :

Où étaient les péruches ?

Et ceci dans le cas où la page est encodée en UTF-8 mais que dans les entêtes ou dans la balise méta, il est indiqué que la page est en ISO-8859-1 par exemple. Continue reading Le problème d’encodage : Des accents en points d’intérrogation

facebooktwittergoogle_plusredditpinterestlinkedinmail