Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MAIL]PL znaki
Forum PHP.pl > Forum > Przedszkole
Kamils2
Witam,
Czy zna ktos jakas skuteczna metode na sprawienie aby wiadomosci wysylane przy uzyciu funkcji mail() mialy pl znaki (w tytule i tresci wiadomosci)
Probowalem kilku sposobow opisanych na forum jednak nie chca one dzialac obecnie 'kluczowe' fragmentu kodu maja nastepujacy wyglad

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


  1. $headers = "MIME-Version: 1.0\n";
  2. $headers .= "Content-type: text/html; charset=utf-8\n";
  3. $headers .= "Content-Transfer-Encoding: quoted-printable\n";
  4. $headers .= "From: mail@mail.pl\n";


Problem jest dosc dziwny poniewaz na gmailu polskie znaki sa , a na kliencie webowym SquirrelMail 1.4.21 ktory jest na moim serwerze tych znakow juz nie ma sad.gif(

Pozdrawiam Kamil
Turson
A jak wygląda funkcja @mail?

Tu masz działający kod, na roundcube są polskie znaki. Przerób na własny użytek
  1. <?php
  2. $head =
  3. "MIME-Version: 1.0\r\n" .
  4. "Content-Type: text/plain; charset=$charset\r\n" .
  5. "Content-Transfer-Encoding: 8bit";
  6. $charset = 'iso-8859-2'; // Strona kodowa
  7. $tytul = $_POST['tytul'];
  8. $mail = $_POST['mail'];
  9.  
  10. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  11. if (!empty($_POST['mail']) && !empty($_POST['body'])) {
  12. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  13. // zmienna $message zawiera treść wiadomości
  14. $message = "Treść wiadomości:\n$_POST[body]\n\n e-mail: $_POST[mail]";
  15. // zmienna $header zawiera przede wszystkim adres zwrotny
  16. $header = "From: <$_POST[mail]>";
  17. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  18. @mail("adres@e-mail","Formularz kontaktowy","TEMAT = $tytul \n$message","$head")
  19. or die('Nie udało się wysłać wiadomości');
  20. // wyświetlenie komunikatu w przypadku powodzenia
  21. echo "<font color=#434343>Formularz został wysłany.<br>Postaramy się odpowiedzieć najszybciej jak to możliwe!</font>";
  22. }
  23. // lub w przypadku nie wypełnienia formularza do końca
  24. else echo "Nie zostały wypełnione wszystkie pola formularza! <p><a href=?id=kontakt>Powrót</a>";
  25. ?>
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.