Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Problem z wysłaniem pliku .doc jako załącznika
Forum PHP.pl > Forum > Przedszkole
janasz
Witam,

mam taki problem jak opisałem w temacie. Chce wyslac plik .doc jako zalacznik. Plik jest na serwerze. Po zalaczeniu do maila wysyla mi maila z tysiacem znaczkow - podejrzewam, ze to ten plik zapisany w ten sposob (nie jestem programista, wybaczcie mi braki wiedzy). Proszę o pomoc!

  1. <?php
  2. $to = 'mymail@gmail.com';
  3. $subject = 'Wiadomość ze strony';
  4. $email = $_POST['email'];
  5.  
  6. $files['0']['path'] = $_FILES['plik']['path'];
  7. $files['0']['mime'] = $_FILES['plik']['mime'];
  8. $files['0']['name'] = $_FILES['plik']['name'];
  9. $files['0']['tmpname'] = $_FILES['plik']['tmp_name'];
  10.  
  11. $filename = $_FILES['plik']['name'];
  12. $filetype = substr($filename, -3, 3);
  13. $upload = move_uploaded_file($files['0']['tmpname'], "readwrite/formularz.doc");
  14.  
  15. if($upload) {
  16. if($filetype == 'doc') {
  17. /// wysylamy maila
  18.  
  19. $fileatt = "readwrite/formularz.doc";
  20. $fileatttype = "multipart/mixed";
  21. $fileattname = "formularz.doc";
  22. $file = fopen($fileatt , 'rb' );
  23. $data = fread( $file, filesize( $fileatt ) );
  24. fclose( $file );
  25. $semi_rand = md5(time());
  26. $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  27.  
  28. $headers .= "\nMIME-Version: 1.0\n" .
  29. "Content-Type: multipart/mixed;\n" .
  30. " boundary=\"{$mime_boundary}\"";
  31.  
  32. $message .= "This is a multi-part message in MIME format.\n\n" .
  33. "--{$mime_boundary}\n" .
  34. "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
  35. "Content-Transfer-Encoding: 7bit\n\n" .
  36. $message . "\n\n";
  37.  
  38. $data = chunk_split(base64_encode($data));
  39.  
  40. $message .= "--{$mime_boundary}\n" .
  41. "Content-Type: {$fileatt_type};\n" .
  42. " name=\"{$fileatt_name}\"\n" .
  43. //"Content-Disposition: attachment;\n" .
  44. //" filename=\"{$fileatt_name}\"\n" .
  45. "Content-Transfer-Encoding: base64\n\n" .
  46. $data . "\n\n" .
  47. "--{$mime_boundary}--\n";
  48.  
  49.  
  50.  
  51. $mail_sent = @mail( $to, $subject, $message, $headers );
  52. echo $mail_sent ? "Mail sent" : "Mail failed";
  53.  
  54. /// wysylamy maila
  55. } // if filetype .doc
  56. } // if upload
  57. ?>
  58.  
  59.  


Już sobie poradziłem, dzieki.
korro
dopisz rozwiązanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.