Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Xampp, problem z smtp
Forum PHP.pl > Forum > Serwery WWW
Sebek26f
Witam.
Nie mam już sił... starałem się stworzyć rejestrację na moją stronę, który po wypełnieniu formularza wysyła na podany e-mail link aktywacyjny... Niestety mam problem z wysłaniem maila...

Znalazłem taki oto skrypt:
  1. <?php
  2. //funkcja
  3. function wyslij($serwer,$uzytkownik,$haslo,$email,$do,$temat,$zawartosc)
  4. {
  5. //kodowanie w standardzie base64
  6. $uzytkownik = base64_encode($uzytkownik);
  7. $haslo = base64_encode($haslo);
  8. //nawizanie połączenia z serwerem SMTP
  9. $polaczenie = fsockopen($serwer,465);//wpisywałem w tym miejscu i port 25 i 465
  10. //sprawdzanie dostępności serwera
  11. $spr[0] = fgets($polaczenie,1000);
  12. //sekwencja:
  13. //1. polecenie uytkownika - fputs
  14. //2. odpowiedź serwera - fgets - idzie do zmiennej $spr do późniejszej analizy
  15. //powitanie serwera
  16. fputs($polaczenie,"HELO $ip\r\n");
  17. $spr[1] = fgets($polaczenie,1000);
  18. //autoryzacja
  19. fputs($polaczenie,"AUTH LOGIN\r\n");
  20. $spr[2] = fgets($polaczenie,1000);
  21. fputs($polaczenie,$uzytkownik."\r\n");
  22. $spr[3] = fgets($polaczenie,1000);
  23. fputs($polaczenie,$haslo."\r\n");
  24. $spr[4] = fgets($polaczenie,1000);
  25. //polecenie wysyłki
  26. fputs($polaczenie,"MAIL FROM: $email\r\n");
  27. $spr[5] = fgets($polaczenie,1000);
  28. fputs($polaczenie,"RCPT TO: $do\r\n");
  29. $spr[6] = fgets($polaczenie,1000);
  30. //wpisywanie treci i nagłówków�
  31. fputs($polaczenie,"DATA\r\n");
  32. $spr[7] = fgets($polaczenie,1000);
  33. fputs($polaczenie,"Subject: $temat\r\n");
  34. fputs($polaczenie,"From: $email\r\n");
  35. fputs($polaczenie,"To: $do\r\n");
  36. fputs($polaczenie,"\r\n");
  37. fputs($polaczenie,"$zawartosc\r\n");
  38. fputs($polaczenie,".\r\n");
  39. $spr[8] = fgets($polaczenie,1000);
  40. //koniec poczenia
  41. fputs($polaczenie,"quit\r\n");
  42. $spr[9] = fgets($polaczenie,1000);
  43. //analiza kodów odpowiedzi serwera SMTP za pomoc ereg
  44. //i przypisanie zmiennej $wynik odpowiedniego komunikatu
  45. $wynik = 0;
  46. if (ereg('220',$spr[0]) && ereg('250',$spr[1]) && ereg('334',$spr[2]) && ereg('334',$spr[3]) && ereg('235',$spr[4]) && ereg('250',$spr[5]) && ereg('250',$spr[6]) && ereg('354',$spr[7]) && ereg('250',$spr[8]) && ereg('221',$spr[9]))
  47. {
  48. $wynik = "Udało się wysłać wiadomość!";
  49. }
  50. else
  51. {
  52. $wynik = "Mamy tu jakiś błąd!";
  53. }
  54. return $wynik;
  55. }
  56. ?>


Po wywołaniu tej funkcji na porcie 25 strona robi się biała, natomiast gdy użyję 465 portu to wyskakuje taki komunikat:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\paliwa\mail.php on line 11

Dodam, że cały serwer stoi u mnie w domu na xampp'ie. Posiadam też router pentagrama. Porty teoretycznie odblokowałem(w zakładce NAT). Nie chodzi mi o jakiegoś super świetnego klienta pocztowego tylko o wysłanie jednej wiadomości z linkiem aktywacyjnym do konta użytkownika chcącego się zarejestrować... Jest to moja pierwsza zabawa z smtp i z pewnością coś namieszałem...

Podaję też link do strony żeby każdy wiedział jak to wygląda:
83.21.255.114/paliwa/rejestruj.php
krzysztof_kf
poczta SMTP jest aktywna zobacz w swoim panelu .
Sebek26f
A konkretnie? Co mam zobaczyć bo nie rozumiem?
krzysztof_kf
Jest już późno więc podaję pomocny link Link


Wesołych Świąt
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.