Probleme avec newsletter

je reçoit un email de ce genre avec les balises
test <p><span style="color: #ff0000;">1</span></p>

j'ai fait
 html_entity_decode('$variable') ;

mais cela régler ne règle que le souci quand je fais un echo sur la page sinon si c'est quand le mail part je réçois ça
test <p><span style="color: #ff0000;">1</span></p>
.
existe -il une autre fonction qui peux mettre utile?

14 réponses

  1. non, tu dois faire ça :

    tu envoie du html donc cela devrait être une url lisible par tes lecteur sur leur messagerie, ils ne la visionneront pas sur ton site.

    http://tonsite.fr/img/nomimage.jpg

    tu vas peut être devoir modifier le fichier de départ la ou il y a ton image

    <img src="img/nomimage.jpg">

    Par

    <img src="http://tonsite.fr/img/nomimage.jpg">
    0
    1. Contributeur
      il y a également une technique pour inclure une image dans un mail. c'est une sorte de pièce jointe cachée qui est affichée dans le mail.
      0
    2. @yg_beDans le cadre d'une newsletter, je ne pense pas que ce soit très adapté, car si le lecteur doit cliquer sur un bouton pour changer le mode de visualisation ...
      0
  2. qu'as tu à la place de l'image (comme url) ?
    0
    1. ça c'est bon mais les images que j'envoi a partir de la console ne sort pas !
      dans l'email reçu cela est du à quoi svp
      0
      1. je dirais même

        $headers .= 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: ***@***' . "\r\n"; //On définit l'expéditeur.
        $headers .= 'Cci:' . $liste . '' . "\r\n"; //On définit les destinataires en copie cachée pour qu'ils ne puissent pas voir les adresses des autres inscrits.
        // envoi email
        0
        1. essaye

          $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
          0
          1. <?php include('../../folder_bd/file_bd.php'); 
            if(isset($_POST['save']))
            {
             
             //On récupère de la table newsletter les personnes inscrites.
            
             $req= 'SELECT email_news FROM newsletter where abonne= 1';
            $liste_p = $bd->query($req);
            while($liste_personne = $liste_p->fetch())
              { //on separe par une virgule
                
                 $liste .=",";
                  $liste.=$liste_personne['email_news'];
              }
            $message =$_POST['elm1'];
             
            $destinataire = 'text.com';
            $date = date("d/m/Y");
            $objet = "Newsletter de text.com du $date"; //On définit l'objet qui contient la date.
            //On définit le reste des paramètres.
            $headers .= 'MIME-Version: 1.0' . '\r\n';
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . '\r\n';
            $headers .= 'From: text@gmail.com' . '\r\n'; //On définit l'expéditeur.
            $headers .= 'Cci:' . $liste . '' . '\r\n'; //On définit les destinataires en copie cachée pour qu'ils ne puissent pas voir les adresses des autres inscrits.
            // envoi email
            
            if ( $message)
            { mail($liste, $objet, $message, $headers);
            echo $message;
             echo "<font color='green'>Email envoyé...</font>";
            } else {
              echo "<font color='red'>Échec lors de l'envoi des news.</font>";
            } 
            }
            ?>
            cela affiche tjrs les balises
            0
            1. Contributeur
              si tu mets les destinataires en copie cachée, il ne faut pas les mettre aussi dans
              mail($liste, $objet, $message, $headers);
              0
          2. alors faut rajouter le header comme l'ecrit "yg_be" 2 messages au dessus
            0
            1. j'avais déja mis cela ça ne marche pas
              $message = strip_tags($_POST['elm1']);

              supprime carrément les balises html moi je veux les traduire
              c'est pour cela j'ai fait ceux ci
              $message = html_entity_decode($_POST['elm1']);

              c'est juste a un echo que ça marche quand je reçoit le mail il ya des balises dedans
              0
              1. Contributeur
                peut-être en ajoutant ceci tout en laissant les balises html:
                $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                0
                1. $message = strip_tags($_POST['elm1']);
                  0
                  1. j'ai utilisé cette console tinymice pour écrire les mails dans la saisi je peux changer la taille de la police et la couleur si je veux je veux récevoir le même texte avec la couleur et la taille de la police mais le mail contient des balises html.
                    ensuite ,Avec cette console es que je pourrai envoyer images ?
                    0
                    1. Bonjour,

                      Peux-tu montrer le code dans lequel tu as rajouté html_entity_decode, et où le mail est généré puis envoyé ?

                      Xavier
                      0
                    2. @Reivax962je recupere
                       $message = html_entity_decode($_POST['elm1']);

                      et j'envoi
                       mail($liste, $objet, $message, $headers);
                      0
                  2. Contributeur
                    bonjour, tu souhaites probablement obtenir autre chose dans le mail. si oui, peux-tu décrire ce que tu souhaites obtenir?
                    0