Mail avec des images (Bug sur Thunderbird ?) [RESOLU]

Mail avec des images (Bug sur Thunderbird ?) [RESOLU] - PHP - Programmation

Marsh Posté le 04-06-2008 à 17:10:08    

Soit le code que j'ai trouvé sur Internet :

Code :
  1. <html>
  2. <body>
  3. <?php
  4. //----------------------------------
  5. // Construction de l'entête
  6. //----------------------------------
  7. $delimiteur = "-----=".md5(uniqid(rand()));
  8. $entete = "MIME-Version: 1.0\r\n";
  9. $entete .= "Content-Type: multipart/related; boundary=\"$delimiteur\"\r\n";
  10. $entete .= "\r\n";
  11. //--------------------------------------------------
  12. // Construction du message proprement dit
  13. //--------------------------------------------------
  14. $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
  15. //---------------------------------
  16. // 1ère partie du message
  17. // Le code HTML
  18. //---------------------------------
  19. $msg .= "--$delimiteur\r\n";
  20. $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  21. $msg .= "Content-Transfer-Encoding: 8bit\r\n";
  22. $msg .= "\r\n";
  23. $msg .= "<html><body><h1>Email HTML avec 1 images</h1>";
  24. $msg .= "Image 1:<img src=\"cid:image1\"><br />";
  25. $msg .= "</body></html>\r\n";
  26. $msg .= "\r\n";
  27. //---------------------------------
  28. // 2nde partie du message
  29. // Le 1er fichier (inline)
  30. //---------------------------------
  31. $fichier = "logo.jpg";
  32. $fp      = fopen($fichier, "rb" );
  33. $fichierattache = fread($fp, filesize($fichier));
  34. fclose($fp);
  35. $fichierattache = chunk_split(base64_encode($fichierattache));
  36. $msg .= "--$delimiteur\r\n";
  37. $msg .= "Content-Type: application/octet-stream; name=\"$fichier\"\r\n";
  38. $msg .= "Content-Transfer-Encoding: base64\r\n";
  39. $msg .= "Content-ID: <image1>\r\n";
  40. $msg .= "\r\n";
  41. $msg .= $fichierattache . "\r\n";
  42. $msg .= "\r\n\r\n";
  43. $msg .= "--$delimiteur\r\n";
  44. $destinataire = "moi@yahoo.fr,toi@yahoo.fr";
  45. $expediteur   = "moi@yahoo.fr";
  46. $reponse      = $expediteur;
  47. echo "Ce script envoie un mail au format HTML avec 1 images à $destinataire";
  48. mail($destinataire,
  49.      "Email HTML avec 1 images",
  50.      $msg,
  51.      "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$entete);
  52. ?>
  53. </body>
  54. </html>


 
En lisant ce mail avec Outlook ou Outlook Express j'ai bien les images mais avec ThunderBird les images n'apparaissent pas dans le message mais dans les pièces jointes.  
Avez-vous une idée ?
 
D'avance merci


Message édité par snike le 04-06-2008 à 18:26:33

---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 04-06-2008 à 17:10:08   

Reply

Marsh Posté le 04-06-2008 à 17:16:47    

J'ai vérifié dans thunderbird l'option :  
   Dans Outils / Options/ avancé / Editeur de configuration :  
   mailnews.message_display.disable_remote_image est à true


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 04-06-2008 à 17:36:08    

avec le bon Content-Type ça marchera
et ce n'est pas un bug de thunderbird

Reply

Marsh Posté le 04-06-2008 à 18:26:49    

Ca marche, merci
 


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 06-10-2008 à 17:17:06    

Hop hop, je profite de ce topic, car il ressemble quand même furieusement à mon problème :
 
Actuellement, une lettre d'information (tout en images) est créée sur un poste de travail, via DreamWeaver, puis pour plus de commodités, le concepteur de la LI affiche l'aperçu, puis colle tout dans un message Outlook qu'il envoie à quelques personnes (de façon à éviter le passage par un DL sur le net ou l'intranet des images).
 
Le message en réception s'affiche parfaitement sous Outlook, mais pas sous Thunderbird, pour lequel les pavés où sont censés être placées les image sont vides, mais les images sont bien présentes en pièce jointe.
 
Je pense donc que le problème est identique au précédent déjà évoqué ici, mais je ne vois pas quel content-type est mauvais, et je ne sais surtout pas par quoi le remplacer :D
 
Un p'tit coup de main messieurs-dames ?  [:fight]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed