Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP mail z załącznikiem
Forum PHP.pl > Forum > PHP
Bondar91
Witam,

mam taki skrypcik do wysyłania maila z załącznikiem jednak nie mam pojęcia czemu nie działa, gdy pobieram postem emaila, działa gdy wpiszę emaila na sztywno.
  1. <?php
  2.  
  3. if ($_POST["wyslij"]==1)
  4. {
  5. srand((double)microtime()*1000000);
  6. $znacznik = md5(uniqid(rand()));
  7.  
  8. // dane o odbiorcy, nadawcy
  9. $odbiorca="aaa@aaa.pl";
  10. $tytul=$_POST['subject'];
  11. $nadawca = $_POST['email'];
  12. $nadawca_mail= $_POST['email'];
  13.  
  14. // treść listu
  15. $tresclistu = $_POST['message'];
  16.  
  17. // definicja nagłówków
  18. $naglowki = "From: $nadawca <$nadawca_mail>\n";
  19. $naglowki .= "MIME-Version: 1.0\n";
  20. $naglowki .= "Content-Type: multipart/mixed;\n";
  21. $naglowki .= "\tboundary=\"___$znacznik==\"";
  22.  
  23.  
  24. $tresc="--___$znacznik==\n";
  25. $tresc .="Content-Type: text/plain; charset=\"utf-8\"\n";
  26. $tresc .="Content-Transfer-Encoding: 8bit\n";
  27. $tresc .="\n$tresclistu\n";
  28.  
  29.  
  30. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  31. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  32. $plik_wielkosc = $_FILES["plik1"]["size"];
  33.  
  34. if (is_uploaded_file($plik_nazwa_tmp))
  35. {
  36. $tresc .="--___$znacznik==\n";
  37. $tresc .="Content-Type:image/gif\n";
  38. $tresc .="Content-Disposition: attachment;\n";
  39. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  40. $tresc .="Content-Transfer-Encoding: base64\n\n";
  41. $f = fopen($plik_nazwa_tmp,"rb");
  42. $dane = fread($f,filesize($plik_nazwa_tmp));
  43. fclose($f);
  44. $tresc .= chunk_split(base64_encode($dane));
  45. $tresc .="--___$znacznik==--\n";
  46. }
  47.  
  48. if (mail($odbiorca,$tytul,$tresc,$naglowki))
  49. {
  50. print "E-mail z załącznikiem został wysłany poprawnie.";
  51. }
  52. else
  53. {
  54. print "E-mail NIE został wysłany poprawnie.
  55. <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
  56. }
  57. }
  58. ?>

Formularz
  1. <form name="zalacznik" id="contact-form-face" method="POST" action="mail.php" ENCTYPE="multipart/form-data" >
  2. <input type="hidden" name="wyslij" value="1" />
  3. <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
  4. <input type="email" name="email" placeholder="Email"/>
  5. <input type="text" name="subject" placeholder="Temat wiadomości"/>
  6. <input type="file" name="plik1">
  7. <textarea name="message" id="" cols="30" rows="10" placeholder="Wiadomość"></textarea>
  8.  
  9. <input class="contact_btn" type="submit" value="WYŚLIJ" />
  10. </form>

Pozdrawiam i czekam na podpowiedź
Kshyhoo
<input type="email" - nadawca
A gdzie odbiorca? Czy chodzi o tę część, bo nie sprecyzowałeś:
  1. $nadawca = $_POST['email'];
Bondar91
Odbiorca jest podany wyżej:). Być może coś innego mam źle ale jak wpisałem nadawce na sztywno czyli bbb@gmai.com np. to wszystko pięknnie ładnie mi działa.
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.