Mail avec piece jointe fontion parcourir

Mail avec piece jointe fontion parcourir - PHP - Programmation

Marsh Posté le 02-04-2014 à 09:34:14    

Bonjour,
J'ai fait un petit script pour envoyer un mail avec au maximum deux pièces jointes
Le problème est que les pièces jointes doivent être sur le serveur.
Je souhaite donc modifier mon script pour ajouter une fonction parcourir, pour aller chercher soi même les fichiers sur notre ordinateur
 
 
Mon formulaire

Code :
  1. <form action="contactmail.php" method="post" name="contactmail" >
  2. <p>Email du destinataire : <input type="email" name="email" /></p>
  3. <p>Votre adresse email : <input type="email" name="my_email" /></p>
  4. <p>Sujet : <input type="text" name="subject" /></p>
  5. <p><textarea name="message" rows="10" cols="50"></textarea></p>
  6. <p>Piece jointe 1 : <input type="text" name="file_name1" /></p>
  7. <p>Piece jointe 2 : <input type="text" name="file_name2" /></p>
  8. <p><input type="submit" value="Envoyer" /></p>
  9. </form>


 
 
 
 
Mon script

Code :
  1. <?php
  2. $boundary = "-----=".md5(uniqid(rand()));
  3. $header = "MIME-Version: 1.0\r\n";
  4. $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
  5. $header .= "\r\n";
  6. $msg = "--$boundary\r\n";
  7. $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
  8. $msg .= "Content-Transfer-Encoding:8bit\r\n";
  9. $msg .= "\r\n";
  10. $msg .= $_POST['message'];;
  11. $msg .= "\r\n";
  12. $file = $_POST['file_name1'];
  13. $fp = fopen($file, "rb" );
  14. $attachment = fread($fp, filesize($file));
  15. fclose($fp);
  16. $attachment = chunk_split(base64_encode($attachment));
  17. //piece jointe fichier1
  18. $msg .= "--$boundary\r\n";
  19. $msg .= "Content-Type: pdf; name=\"$file\"\r\n";
  20. $msg .= "Content-Transfer-Encoding: base64\r\n";
  21. $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
  22. $msg .= "\r\n";
  23. $msg .= $attachment."\r\n";
  24. $msg .= "\r\n\r\n";
  25. $file = $_POST['file_name2'];
  26. $fp = fopen($file, "rb" );
  27. $attachment = fread($fp, filesize($file));
  28. fclose($fp);
  29. $attachment = chunk_split(base64_encode($attachment));
  30. //piece jointe fichier2
  31. $msg .= "--$boundary\r\n";
  32. $msg .= "Content-Type: pdf; name=\"$file\"\r\n";
  33. $msg .= "Content-Transfer-Encoding: base64\r\n";
  34. $msg .= "Content-Disposition: attachment; filename=\"$file\"\r\n";
  35. $msg .= "\r\n";
  36. $msg .= $attachment."\r\n";
  37. $msg .= "\r\n\r\n";
  38. $msg .= "--$boundary--\r\n";
  39. $destinataire = $_POST['email'];
  40. $expediteur = $_POST['my_email'];
  41. $sujet = $_POST['subject'];
  42. $reponse = $expediteur;
  43. mail($destinataire, $sujet, $msg,"Reply-to: $reponse\r\nFrom: ".$expediteur."\r\n".$header);
  44. ?>


 

Reply

Marsh Posté le 02-04-2014 à 09:34:14   

Reply

Marsh Posté le 02-04-2014 à 11:43:01    

Ah le problème c'est ton input
http://www.w3schools.com/tags/tryi [...] _type_file


Message édité par Pablo Escrobarbe le 02-04-2014 à 11:44:36
Reply

Marsh Posté le 02-04-2014 à 12:33:48    

Ok je fais un input file a la place de text, ça je savais, mais c'est surtout sur la partie php que je peine, je sais pas trop comment faire du coup, je travaille jamais avec les fichiers

Reply

Marsh Posté le 03-04-2014 à 10:01:00    

Reply

Sujets relatifs:

Leave a Replay

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