Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Mam problem z kodowaniem nagłówków w mail
Forum PHP.pl > Forum > Przedszkole
oi.
Mam problem z kodowaniem nagłówków w skrypcie do wysyłania e-maili z załącznikiem . Skrypt Poprawnie wysyła załączniki ale nie przysyła znaków specjalnych :

  1. <?php
  2. $email = $_POST['email'];
  3. $id = $_POST['id'];
  4. $txt = $_POST['message'];
  5.  
  6. srand((double)microtime()*10000000);
  7. $znacznik = md5(uniqid(rand()));
  8. ////////// USTAWIENIA //////////
  9. $odbiorca = 'adres@email.pl'; // Adres e-mail adresata
  10. $tytul = 'temat'; // Temat listu
  11. $message = 'Informacja.'; // Komunikat
  12. $error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
  13.  
  14. $zformularza = " Przykładowy txt <br /> <a href=http://www.wp.pl>wp.pl</a> $txt ";
  15.  
  16. // Nagłówki
  17. $naglowki = "From: \n";
  18. $naglowki .= "MIME-Version: 1.0\n";
  19. $naglowki .= "Content-Type: multipart/mixed;\n";
  20. $naglowki .= "\tboundary=\"___$znacznik==\"";
  21. // Treść listu
  22.  
  23. $tresclistu="--___$znacznik==\n";
  24. $tresclistu .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  25. $tresclistu .="Content-Transfer-Encoding: 8bit\n";
  26. $tresclistu .="\n$zformularza\n";
  27. // Załącznik
  28. $nazwa_tymczasowa = $_FILES["plik1"]["tmp_name"];
  29. $nazwa_pliku = $_FILES["plik1"]["name"];
  30.  
  31. if (is_uploaded_file($nazwa_tymczasowa))
  32.  
  33. {
  34. $tresclistu .="--___$znacznik==\n";
  35. $tresclistu .="Content-Type: image/jpg\n";
  36. $tresclistu .="Content-Disposition: attachment;\n";
  37. $tresclistu .=" filename=\"$nazwa_pliku\"\n";
  38. $tresclistu .="Content-Transfer-Encoding: base64\n\n";
  39. $f = fopen($nazwa_tymczasowa, "rb");
  40. $dane = fread($f,filesize($nazwa_tymczasowa));
  41. fclose($f);
  42. $tresclistu .= chunk_split(base64_encode($dane));
  43. $tresclistu .="--___$znacznik==--\n";
  44. }
  45.  
  46. // wysłanie listu
  47. if (mail($odbiorca,$tytul,$tresclistu,$naglowki))
  48. {
  49. print "".$message."";
  50. }
  51. else
  52. {
  53. print "".$error."";
  54. }
  55.  
  56. ?>


W moim starym skrypcie poniżej mam poprawnie zakodowane znaki ale nie wiem jak to połączyć w całość - czyli by wysyłało załącznik i były znaki specjalne HTML w liście
  1. $headers = "MIME-Version: 1.0\r\n";
  2. $headers .= "Content-type: text/html; charset=iso-8859-2\r\n";
  3. $headers .= "Content-Transfer-Encoding: 8bit\r\n";
  4. $headers .= "From: " . $from . "\r\n";
grabek93
  1. //nagłówki
  2. ...
  3. $naglowki .= "Content-type: text/html; charset=iso-8859-2\r\n";
  4. ...


ja bym zrobił tak.
oi.
Próbowałem tak, wówczas załącznik jest ciągiem "znaczków i krzyżyków"
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.