Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Klient poczty [php]
Forum PHP.pl > Forum > Przedszkole
KRISPI
Problem polega na tym że napisałem klienta poczty. Mam możliwość konfiguracji konta, wysyłania i odbierania wiadomości itp.
Obecnie próbuję dodać do wiadomości załącznik. Wszystko działa poprawnie natomiast załączniki odbieram w postaci wykrzaczonej bez względu na to czy jest to plik jpg czy doc czy inny. Zawsze krzaczki. Co zrobić żeby załącznik pojawiał się w normalnej postaci? Kod wygląda tak:
  1. $nazwa_pliku=$_FILES['plik']['name'];
  2. $plik_nazwa_tmp=$_FILES['plik']['tmp_name'];
  3. //********************************************************************************
    *************
  4. // tresc listu
  5.  
  6. srand((double)microtime()*1000000);
  7. $znacznik = md5(uniqid(rand()));
  8.  
  9. // dane o odbiorcy, nadawcy
  10. $odbiorca=$do;
  11. $tytul=$temat;
  12. $nadawca=$dw;
  13. $tresclistu = $wiadomosc;
  14.  
  15. // definicja naglówków
  16. $naglowki = "From: $nadawca\n";
  17. $naglowki .= "MIME-Version: 1.0\n";
  18. $naglowki .= "Content-Type: multipart/mixed;\n";
  19. $naglowki .= "\tboundary=\"___$znacznik==\"";
  20. $naglowki .= "X-attachments: $nazwa_pliku;\n\n";
  21.  
  22. // naglówki listu
  23. $tresc="--___$znacznik==\n";
  24. $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  25. $tresc .="Content-Transfer-Encoding: 8bit\n";
  26. $tresc .="\n$tresclistu\n";
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. if (is_uploaded_file($plik_nazwa_tmp))
  34. {
  35. $tresc .="--___$znacznik==\n";
  36. $tresc .="Content-Type:" .$_FILES['plik']['type']."\n";
  37. $tresc .="Content-Disposition: attachment;\n";
  38. $tresc .=" filename=\"$nazwa_pliku\"\n";
  39. $tresc .="Content-Transfer-Encoding: base64\n\n";
  40.  
  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. if (mail($odbiorca,$tytul,$tresc,$naglowki)) {
  48.  
  49. echo "<p style=\"padding-bottom: 100px\">Wiadomo�� wys�ana.</p>";
  50. } else {
  51. echo "<p style=\"padding-bottom: 100px\">Wys�anie wiadomo�ci niemo�liwe.</p>";
  52. }
  53.  
  54. break;
vokiel
To jest klient poczty, użycie funkcji mail?

Jeśli chcesz żeby działało, a nie koniecznie musi to być od a do z Twój kod, to proponuję zapoznać się z PHPMailer lub Swift Mailer
KRISPI
Próbowałem phpmailer załącznik się wysyła podobnie jak za pomocą kodu który umieściłem. Ale wyświetla się tak samo czyli tak jakby było w nagłówku
Content-Disposition: inline; ale cały czas jest attachment. Nie rozumiem. Jak sprawdzam tą samą poczte w Thunderbird załączniki wyświetlają się normalnie tylko w moim kliencie wyświetlają się inline??
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.