Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja mail
Forum PHP.pl > Forum > PHP
muszyk
Czemu to przestało działać?

  1. <?php
  2.  
  3. function powiadom($nazwa_uz, $haslo)
  4. {
  5. if (!($lacz = lacz_bd()))
  6. return false;
  7. $wynik = mysql_query(&#092;"select email from uzytkownik
  8. where nazwa_uz='$nazwa_uz'&#092;");
  9. if (!$wynik)
  10. {
  11. return false; // bez zmian
  12. }
  13. else if (mysql_num_rows($wynik)==0)  //spr. czy uzytkownik jest w bazie
  14. {
  15. return false;
  16. }
  17. else
  18. {
  19. $email = mysql_result($wynik, 0, 'email');
  20. $od = &#092;"From: krm123@poczta.onet.pl rn\";
  21. $wiad = &#092;"Nowe haslo: $haslo rn\";
  22. if (mail($email, 'Zmiana hasła ', $wiad, $od))
  23. return true;
  24. else
  25. return false;
  26. }
  27. }
  28.  
  29. ?>


W jaki sposób można teraz wysyłać maile ze swojej strony przy uzyciu serwera na przykład poczta.onet pl. Działało to do maja gdy onet wprowadził bezpieczne uwieżytelnianie hasła.
Czy da się to jakoś zmodyfikować? A jesli nie to jak to mozna wykonać inaczej.

Pozdrawiam
SHiP
Tzn gdzie ci skrypt nie działa? Na localhoscie czy serwerze?. Ja miałem to samo z o2.pl daj @ przed mail() i sie nie martw smile.gif

Jeśli na serwrze to powiedz adminowi żeby skonfigurował sobie smtp.
muszyk
w tym momencie jeszcze na loclhoscie, problem w tym, że to działało a tera nie wysyła sad.gif
gdy próbuje przez onet wywala taki błąd:
Warning: Server Error in c:\apache\htdocs\od\funkcje_uwierz.php on line 160
a gdy przez go2:
Warning: Failed to Receive in c:\apache\htdocs\od\funkcje_uwierz.php on line 160

w php.ini wygląda to tak:


Kod
[mail function]
; For Win32 only.
SMTP = smtp.poczta.o2.pl

; For Win32 only.
sendmail_from = krm123@poczta.o2.pl

; For Unix only.  You may supply arguments as well (default:

'sendmail -t -i').
;sendmail_path =
MoD
Zawsze możesz pokombinowac z fsockopen" title="Zobacz w manualu PHP" target="_manual, i napisac własną funckję wysyłania maili smile.gif

Możesz też ustawienia SMTP zostawić domyslne, a do funkcji MAIL dodać nagłówki: FROM oraz REPLY-TO
Jak ustawisz w tych nagłówkach np. example@domain.com to dostaniesz maila z example@domain.com a więc nie muszisz konfigurować tego na oneta albo o2.
anas
Hej

Moze serwer smtp, ktorego uzywasz do wysylania poczty wymaga teraz uwierzytelniania przy wysylaniu(czego kiedys serwery nie posiadaly- oczywiscie serwery pocztowe) - jesli tak to do wysylania poczty uzyj klasy smtp(na zend.com mozna ja znalezc), lub napisz wlasna obsluge poczty np. przy uzyciu gniazd.

pozdrawiam

anas

Ps. Funkcja mail w php domyslnie nie posiada mozliwosci prostego uwierzytelniania, chociaz mozna sprobowac przeprowadzic autoryzacje w argumencie z dodatkowymi naglowkami - moze doczekamy sie kiedys takiej wersji: mail("Od_kogo","haslo","serwer smtp","do kogo","tresc"... itd - byloby latwiej i przyjemniej.
muszyk
Dzięi, więc jednak nie przebiję się funkcją mail, bo niestety nie znalazłem serwera który nie wymaga uwierzytelniania. Spróbuję odnaleść klasę o której napisałeś, bo napisanie własnej obsługi poczty niestety jeszcze przekracza moje możliwości.

Ale to powinno się niedługo zmienić, może jeszcze z pół roku smile.gif
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.