Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] PHPBB3, jak wysyła link aktywacyjny?
Forum PHP.pl > Forum > Przedszkole
lipzky
Witam serdecznie :-)

Mój problem dot. funkcji mail(), która nie działa. Próbowałem dołączać do niej odpowiednie parametry. Dając ją w warunek.. wyświetlany jest ten z false.

Dziwię się, bo mam forum phpb3 na tym serwerze (fakt, nie znam struktury phpbb3) i wysyłanie linków aktywacyjnych działa. Czy phpbb3 korzysta z jakiejś klasy dot. wysyłania maili?

Robię rejestrację użytkowników na pewnej stronie i chciałbym, aby konto było aktywowane poprzez link dostarczany na skrzynke email.
Jak rozwiązać problem niedziałającej funcji mail(), gdyby okazało się, że na serwerze jest ona fizycznie wyłączona?

Pozdrawiam,
Lipzky
cve
ja też miałem kiedyś problem z mail() i problemem były nagłówki, przykładowy prościutki działający kod wygląda tak:
  1. $adresat = 'mail@adresata.com';
  2.  
  3. //mail z formularza
  4. @$email = $_POST['fMail'];
  5.  
  6. //wiadomosc z formularza
  7. @$content = $_POST['fText'];
  8.  
  9. //temat z formularza
  10. @$subject = $_POST['fSubject'];
  11.  
  12. //no i nagłówki
  13. $header = "From: ".$email." \nContent-Type:".
  14. ' text/plain;charset="utf-8"'.
  15. "\nContent-Transfer-Encoding: 8bit";
  16.  
  17. //wysyłanie maila
  18. if($email != '' && $content != '') {
  19. if (mail($adresat, $subject, $content, $header)) {
  20. echo '<p>Thank you for message.</p>'; }
  21. else {
  22. echo '<p>Sorry, an error has occoured</p>';
  23. }
  24. }


poza tym nie dałeś żadnego kodu, nie wiadomo gdzie leży przyczyna, skoro linki się wysyłają to serwer pocztowy jest dobrze skonfigurowany,
piszesz, żę mail() daje false, ale gdzie? w którym miejscu? nic nie wiadomo...
lipzky
Dzięki za odpowiedź. Fakt, mogłem dać kod. Co prawda była to uboższa wersja tego z góry. Niestety, obecnie sytuacja wygląda podobnie. False wyrzucało, gdy wstawiłem funkcję mail w warunek IF, tak jak w kodzie od Ciebie.

Kod, który wstawiłem to:
  1. <?php
  2. $adresat = "mail@nadawcy.pl";
  3.  
  4. //dla sprawdzenia zamiast z $_POST wstawiłem bezpośrednie dane
  5.  
  6. //mail
  7. @$email = "mail@odbiorcy.pl";
  8.  
  9. //wiadomosc z formularza
  10. @$content = "Blablabla";
  11.  
  12. //temat z formularza
  13. @$subject = "tresc";
  14.  
  15. //no i nagłówki
  16. $header = "From: ".$email." \nContent-Type:".
  17. ' text/plain;charset="utf-8"'.
  18. "\nContent-Transfer-Encoding: 8bit";
  19.  
  20. if($email != '' && $content != '') {
  21.  
  22.  
  23. if (mail($adresat, $subject, $content, $header))
  24.  
  25.  
  26. {
  27. echo '<p>Thank you for message.</p>'; }
  28. else {
  29. echo '<p>Sorry, an error has occoured</p>';
  30. }
  31. }
  32. ?>

madej164
A gdzie to wstawić(w którym pliku i w którym miejscu)
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.