Partage
  • Partager sur Facebook
  • Partager sur Twitter

Header pour la fonction mail()

content-type: text/html

Sujet résolu
    25 février 2006 à 13:43:35

    Salut à tous,

    Je voudrais écrire un mail en html, j'ai donc fais ceci pour la fonction mail :
    $headers = 'From: expediteur@exemple.com' . "\r\n";
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-Type: text/html; charset="iso-8859-1"' . "\r\n";
    mail(destination@exemple.com, 'Titre', '<a href"http://www.siteduzero.com">Site du Zér0</a>', $headers); ?>

    Quand je test ce code en donnant comme destinataire mon adresse email sur laposte.net, ça fonctionne bien, le html est executé.

    Par contre, quand je m'écris sur gmail.com, je reçois le message suivant au début du mail, et ensuite le html n'est pas executé, je vois le code dans le corps du message :
    Content-Type: text/html; charset="iso-8859-1"

    Message-Id: <20060225121605.4803F2BE92@exemple.com>
    Date: Sat, 25 Feb 2006 13:16:05 +0100 (CET)

    Voilà, si quelqu'un a une idée sur le pourquoi du comment :) ça serait cool.

    @+,

    Jerebenz
    • Partager sur Facebook
    • Partager sur Twitter
      25 février 2006 à 15:00:15

      ton code est bon à mon avis gmail (que je n'ai pas :p) doit pas te mettre le message directement en html. Je sais par exempel que sur le webmail de free si le message est en html ils vont rien te mettre et le message sera transformé en pièce jointe qu'il faudra que tu ouvres.

      Pourquoi font-ils ça ?
      Eh bien si jamais dans le message il y a un script malveillant, ils risquent gros en sécurité
      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2006 à 15:13:10

        J'ai trouvé la solution dans les commentaires de php.net sur la partie mail.

        Citation : Ian Chilton

        \r\n after each header doesn't seem to work in some mailers (eg: Gmail) - \n seems to work ok.


        Pour les francophones, ça veut dire que les "\r\n" après chaque header semblent ne pas fonctionner sur certains fournisseurs de mail (comme Gmail) - "\n" semble bien fonctionner.

        Donc voici mon code modifié qui fonctionne sur laposte.net et gmail.com :
        $headers = 'From: expediteur@exemple.com' . "\r\n";
        $headers .= 'MIME-Version: 1.0' . "\n";
        $headers .= 'Content-Type: text/html; charset="iso-8859-1"' . "\n";
        mail(destination@exemple.com, 'Titre', '<a href"http://www.siteduzero.com">Site du Zér0</a>', $headers);
        • Partager sur Facebook
        • Partager sur Twitter

        Header pour la fonction mail()

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown