Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoyer un email sous format XHTML

Problème avec le CSS

Sujet résolu
    20 juillet 2006 à 19:49:08

    Envoyer un email sous format XHTML



    Bonjour,

    Voila, je suis en train d'améliorer la fonction mail de la page contact de mon blog et j'ai des soucis avec le CSS du mail envoyé !
    J'ai donc fait un code qui envoie une page web mais le seul soucis est que je voudrai afficher des images de fond pour des div mais celles-ci ne veulent pas s'afficher.
    Voici mon code (la partie qui contient le corps de la page XHTML) :
    <?php
    //code précédent
    $mess = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\r\n";
    $mess .= "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr\">\r\n";
    $mess .= "<head>\r\n";
    $mess .= "<title>Message personnel de ".$pseudo." </title>\r\n";
    $mess .= "<style type=\"text/css\">\r\n";
    $mess .= "body{margin: 0px; padding: 20px; width: 100%}\r\n";
    $mess .= "h3, p{font-family: Verdana, Arial, sans-serif;}\r\n";
    $mess .= "h3{font-size: 15px; color: #5b8d35; text-decoration: underline; font-style:italic;}\r\n";
    $mess .= "p a{color: #5b8d35; text-decoration: underline;}\r\n";
    $mess .= "p{font-size: 12px; color: #FFFFFF;}\r\n";
    $mess .= "p a:hover{text-decoration: none; color: #8ac35e;}\r\n";
    $mess .= ".msg{margin-left: 50px;}\r\n";
    $mess .= ".inf{width: 330px; height: 165px; background-image: url(http://www.33xit.fr/blog/contact/infos.jpg); padding-top: 22px;}\r\n";
    $mess .= "</style>\r\n";
    $mess .= "</head>\r\n";
    $mess .= "<body>\r\n";
    $mess .= "<h3>Message personnel de ".$pseudo."</h3>\n";
    $mess .= "<div class=\"msg\">\r\n";
    $mess .= "<p>".stripslashes(nl2br($txt))."</p>\r\n";
    $mess .= "</div>\r\n";
    $mess .= "<div class=\"inf\">\r\n";
    $mess .= "<p>De la part de ".$pseudo." (<a href=\"mailto:".$adr."\">".$adr."</a>) depuis l'IP ".$_SERVER['REMOTE_ADDR']." le ".date('d/m/Y \à H\hi').".</p>\r\n";
    $mess .= "</div>\r\n";
    $mess .= "</body>\r\n";
    $mess .= "</html>";
    //code suivant
    ?>

    Donc le problème vient d'ici :
    <?php
    $mess .= ".inf{width: 330px; height: 165px; background-image: url(http://www.33xit.fr/blog/contact/infos.jpg); padding-top: 22px;}\r\n";
    ?>

    J'ai essayé avec des simples quotes, des doubles, sans et aucun ne fonctionne..
    Aussi, les balises <p> ne sont pas écritent en blanches... c'est assez bizarre !

    Quelqu'un peu m'aider ?
    J'utilise Windows Live Mail !

    Merci beaucoup.
    • Partager sur Facebook
    • Partager sur Twitter
      3 août 2006 à 21:47:41

      Pour l'envoi de mail je te conseil la class PHPmailer

      http://stephaneey.developpez.com/tutoriel/php/phpmailer/#L3

      Prend le temps de lire comment elle fonctionne, tu verras apres c'est du gateau ^^

      EDIT: Autant pour moi j'ai lu trop vite je croyais que ton pb etait d'envoyer un mail en PHP, sinon pour l'envoi de mail au format html c'est toujours un peu l'anarchie, j'ai essayer y'a pas longtemps de faire un truc valide W3C bah rien a faire ... j'ai été obliger de le faire bien crado avec des tableaux et une mise en forme "inline"...
      • Partager sur Facebook
      • Partager sur Twitter
        19 août 2006 à 17:34:25

        Ok, je jetterai un coup d'oeil quand j'en aurai la motiv' !

        Merci :)

        Edit : donc la solution est d'utiliser un doctype transitional :

        Citation : Pas de titre

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



        Il faut donc ajouter les styles inline voir même utliser les attributs HTML (genre bgcolor).
        • Partager sur Facebook
        • Partager sur Twitter

        Envoyer un email sous format XHTML

        × 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