Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działa funkcja mail()
Forum PHP.pl > Forum > PHP
igla007
Witam.
Mam problem z funkcją mail().
Tak wygląda plik odpowiedzialny za wysłanie formularza:
  1. <?php
  2.  
  3. if(isset($przylacz))
  4. {
  5.  
  6. $adresat = 'mojemail@domena.com';
  7. $nadawca = $_POST['email'];
  8. $wiadomosc = $_POST['wiadomosc'];
  9. $naglowek = "From: $nadawca \nContent-Type:".
  10. ' text/plain;charset="iso-8859-2"'.
  11. "\nContent-Transfer-Encoding: 8bit";
  12. if(mail($adresat, 'List ze strony', $wiadomosc, $naglowek))
  13. {
  14.  
  15. echo "Wiadomość została wysłana.";
  16. echo "<script type=\"text/javascript\">
  17. window.setTimeout(\"window.location.replace('index.php?strona=kontakt');\",3000);
  18. </script>";
  19. }
  20. else
  21. {
  22. echo 'Błąd podczas wysyłania wiadomości...';
  23. echo "<script type=\"text/javascript\">
  24. window.setTimeout(\"window.location.replace('index.php?strona=kontakt');\",3000);
  25. </script>";
  26. }
  27.  
  28. }
  29.  
  30. ?>


Po wykonaniu skryptu, ukazuje się komunikat potwierdzający wysłanie wiadomości, ale niestety wiadomość nie dociera na wskazany adres e-mail.
Jak myślicie, co może być przyczyną. Próbowałem już nawet zmieniać prawa dostępu do pliku, ale efekt nadal ten sam.
modern-web
Na szybko - o tej godzinie już nie myślę jak trzeba... błędu w kodzie nie widzę, wszystko wygląda OK, podejrzewam że administrator hostingu zablokował opcję wysyłania maili za pomocą funkcji mail w obawie przed wpisaniem serwera na czarną listę za wysyłanie spamu. Możesz mi wierzyć lub nie... dużo jest takich ludzi, którzy zakładają sobie konta na darmowych hostingach tylko po to by uprawiać masowy mailing. Także jeśli to jest płatny serwer - skontaktuj się z administratorami, jeśli darmowy to sprawa jest jasna smile.gif W tym drugim przypadku pozostanie Ci wysyłanie maili przy użyciu SMTP z konta pocztowego.

@edit zwłaszcza ugu.pl stosuje tego typu praktyki - a w każdym razie kiedyś tak było smile.gif
igla007
Jest to serwer płatny na webd.pl. Dziękuję za odpowiedź, zaraz do nich napiszę.

Okazało się, że jednak mail doszedł, ale z dużym kilkugodzinnym opóźnieniem. Niestety pojawił się problem w postaci braku polskich znaków. Spróbuję zmienić kodowanie, chyba że macie inne propozycję
modern-web
Jeśli strona zakodowana jest w utf-8 a formularz w iso-8859-2 to zmień oba na ten sam typ kodowania -> utf-8. Powinno zadziałać.

Pozdrawiam!
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.