Envoie d'un formlaire sur un mail > pb avec les pieces jointes

Envoie d'un formlaire sur un mail > pb avec les pieces jointes - PHP - Programmation

Marsh Posté le 19-01-2005 à 16:48:45    

Bonjour !  :)  
 
J'ai actuellement un petit pb concernant l'envoie d'un formulaire (les données rentrées par l'user) sur un mail.
 
Généralement, pour un formulaire simple, dans "action" je faisais comme suis :
 
 

Code :
  1. <form name="registration" method="post" action="confirmation.php">


 
Mon confirmation.php est généralement de la forme suivante :
 

Code :
  1. <?
  2. $message="nom: ".$nom."\n"."prénom: ".$prenom."\n"."adresse: "."\n".$adresse."\n".$cp."\n".$ville."\n"."telephone: ".$tel."\n"."mail: ".$email."\n"."demande de renseignement sur:".$renseignement."\n"."commentaires: "."\n".$commen."\n";
  3. mail("mail@mail.com", "Demande de renseignements", $message, "From:".$email);
  4. echo "<html><head></head><body onLoad='window.opener=self;self.close();'></body></html>";
  5. ?>


 
Jusque là tout vas bien... :jap:  
Mais je suis maintenant sur un gros formulaire (genre 70 champs :ouch: ). Mais là où c'est le drame, c'est que ds ce formulaire il y a des champs de type="file", des listes déroulantes :cry: ...
Les champs de type="file" sont destinés à récupérer des photos (il y a 3 champs).
 
La question est : comment puis-je formater mon confirmation.php de manière à ce que le mail envoyé possède les photos (directement ds le mail ou en piece jointe), ainsi que les autres infos des listes déroulantes ?
 
Merci   :hello:


Message édité par [afc]metos le 24-01-2005 à 16:02:27
Reply

Marsh Posté le 19-01-2005 à 16:48:45   

Reply

Marsh Posté le 24-01-2005 à 16:05:55    

Voici mon nouveau script, après plusieurs recherches :
 

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 2 images</h1>";
  24. $msg .= "Image 1:<img src=\"cid:image1\"><br />";
  25. $msg .= "Image 2:<img src=\"cid:image2\"><br /></body></html>\r\n";
  26. $msg .= "\r\n";
  27. //---------------------------------
  28. // 2nde partie du message
  29. // Le 1er fichier (inline)
  30. //---------------------------------
  31. $fichier = "grandyeux.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. //---------------------------------
  44. // 3ème partie du message
  45. // Le 2ème fichier (attachment)
  46. //---------------------------------
  47. $fichier = "porte.jpg";
  48. $fp      = fopen($fichier, "rb" );
  49. $fichierattache = fread($fp, filesize($fichier));
  50. fclose($fp);
  51. $fichierattache = chunk_split(base64_encode($fichierattache));
  52. $msg .= "--$delimiteur\r\n";
  53. $msg .= "Content-Type: application/octet-stream; name=\"$fichier\"\r\n";
  54. $msg .= "Content-Transfer-Encoding: base64\r\n";
  55. $msg .= "Content-ID: <image2>\r\n";
  56. $msg .= "\r\n";
  57. $msg .= $fichierattache . "\r\n";
  58. $msg .= "\r\n\r\n";
  59. $msg .= "--$delimiteur\r\n";
  60. $destinataire = "xxxxx@xxxxx.fr";
  61. $expediteur   = "xxxxxx@xxxxxx.com";
  62. $reponse      = $expediteur;
  63. echo "Ce script envoie un mail au format HTML avec 2 images à $destinataire";
  64. mail($destinataire,
  65.      "Email HTML avec 2 images",
  66.      $msg,
  67.      "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$entete);
  68. ?>
  69. </body>
  70. </html>


 
Mais ça ne fonctionne tjrs pas... personne n'aurait la solution ?
Qqn utilise l'envoie d'info formulaire sur mail avec pièces jointes ? (ce qu'utilise les les sites du type caramails ou Yahoo sur leur page d'écriture de mail)

Reply

Sujets relatifs:

Leave a Replay

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