8800 sujets

Développement web côté serveur, CMS

Salut tout le monde ,
voila j'ai un petit problème lorsque j'essaie d'envoyer un mail en HTML via la fonction PHP Mail().
Je reçois du code au lieu d'avoir le rendu en html.

Nota: je consulte mes mail via Mozilla Thunderbird 6.0.1 ; je reçois d'autres newsletters en html et je vois bien le rendu html.

Voici mon code:

// Préparation du mail 
                $destinataire = 'TO: "BOB"<bob@localhost>';
                $sujet = "NEWSLETTER OF R.L.PRODUCTION" ;
                $entete = 'From: "RLPRODUCTION"<outstore@localhost>' ;
                $entete .='Content-Type: text/html; charset="UTF-8"'."\n";
                $entete .='Content-Transfer-Encoding: 8bit'; 

               
                $message = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                            <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
                            <head>
                            </head>
                            <body>
                                <h3>Un titre ici<h3><br>
                                <p>Un message de test</p>
                                <img src="p-coltran.jpg" alt="W.P. Calltran" title="shérif P Calltran"/>
                            </body>
                            </html>'; 
                $message.="
                ---------------
                Ceci est un mail automatique, Merci de ne pas y répondre.";


                mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail


Voici ce que je reçois :
upload/38519-Capture.JPG

Et dans le champs expéditeur de mon client mail je reçois une partie des paramètres passés dans l'en-tête.

Voici ce que je devrais recevoir :
upload/38519-Capture2.JPG

Quelqu'un aurait -il une idée?
MErci.
Modifié par blobi (01 Sep 2011 - 22:18)
Merci je viens de jeter un oeil sur le tuto,
mais j'ai toujours le meme problème:
-L'image ne s'affiche pas dans l'email reçu
et les propriété >>> text-align, color , ... ne sont pas prise en compte .

        $query=mysql_query("SET NAMES 'utf8'");
       
//        if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail))
//        {
                $passage_ligne = "\r\n";
//        }
//        else
//        {
//                $passage_ligne = "\n";
//        }

        echo ("<h3 style='color:red; '>Un titre ici</h3><br>
                            <p>Un message de test</p><img src='p-coltran.jpg' alt='W.P. Calltran' title='shérif P Calltran'/>");
        // Préparation du mail contenant le lien d'activation
                $destinataire = 'TO: "BOB"<bob@localhost>'.$passage_ligne;
                $sujet = "NEWSLETTER OF R.L.PRODUCTION" .$passage_ligne;
                $boundary = "-----=".md5(rand());
                $entete = 'From: "RLPRODUCTION"<outstore@localhost>' .$passage_ligne; ;
                $entete.="MIME-Version: 1.0".$passage_ligne;
                $entete.='Content-Type: text/html; charset=\"UTF-8\"'.$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
                $entete.='Content-Transfer-Encoding: 8bit'; 

                $message_html = '<html>
                            <head>
                            </head>
                            <body>
                                <h3 color="blue" text-align="center">Un titre ici<h3><br>
                                <p>Un message de test</p>
                                <img src="p-coltran.jpg" alt="W.P. Calltran" title="shérif P Calltran"/>
                            </body>
                            </html>'; 
                $message_html.="<br/>
                ---------------
                Ceci est un mail automatique, Merci de ne pas y répondre.";
//                $message = $passage_ligne.$boundary.$passage_ligne;
//                $message.= "Content-Type: text/html; charset=\"UTF-8\"".$passage_ligne;
//                $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
                $message= $passage_ligne.$message_html.$passage_ligne;
                


                mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail



Quelqu'un a une idée?
Merci.
Modifié par blobi (05 Sep 2011 - 14:15)