Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]PHPMailer->send() zawsze zwraca false
-Gość-
post 18.09.2013, 01:12:01
Post #1





Goście







Witam

Robie na stornie mailng i chce sprawdzic czy maile wysylaja sie popranwie. Uzywam skryptu phpmailer i jego funkcja send() zawsze mi zwraca false - mimo, ze maile dochodza. Spotkal sie ktos z takim problemem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post 18.09.2013, 07:57:40
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Niemozliwe wink.gif

Pokaz kod i jak ty to sprawdzasz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Gość-
post 18.09.2013, 21:29:25
Post #3





Goście







http://wklej.org/id/1132697/

w 79 mam
  1. if( $mail->send() ) $orm->sendTo++;

i to nie dziala

Dla testu dalem po prostu
  1. $orm->sendTo++;


i wtedy dzialalo
Go to the top of the page
+Quote Post
thek
post 18.09.2013, 23:18:52
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Zdebuguj CO dostajesz. Skoro już samo send() nie działa, to chyba jest tego jakaś przyczyna i należy szukać głębiej w funkcjach wewnątrz tej metody? Send(), z tego co zerknąłem na kod tej klasy na githubie, może walnąć false w kilku sytuacjach:
- kiedy preSend() zwraca false,
- kiedy preSend lub postSend walą exceptiona, ale masz ustawione olewanie ich. A jest to działanie domyślne!

Tym samym nie wiesz nawet, że exception pofrunął w kosmos, bo prawie każda metoda tej klasy ma:
  1. try {
  2. // tu kod
  3. } catch (phpmailerException $e) {
  4. $this->setError($e->getMessage());
  5. if ($this->exceptions) {
  6. throw $e;
  7. }
  8. return false;
  9. }
co przy domyślnym ustawieniu $this->exception = false; w konstruktorze tej klasy kończy się zawsze zwracaniem false przy jakimkolwiek wyjątku i konieczności sprawdzania publicznej ErrorInfo by dowiedzieć co jest grane. A jak widać, nic w kodzie nie robisz takiego.

Popatrz co dostajesz w $mail->ErrorInfo a stanie się jasność wink.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:36