Phpmailer na stronie www - jak sprawdzi

Konfiguracja serwerów, usług, itp.
goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Phpmailer na stronie www - jak sprawdzić co się stało z emailem?

Post autor: goska_23 »

Mam 2 strony www, które korzystają z funcji "phpmailer" do wysyłania emaili ze strony www do użytkownika który wypełnił formularz na stronie i do administratora strony o fakcie wypełnienia formularza.

Mój "phpmailer", który mam na 2 serwerach z linuxem i dwiema stronami www wysyła pocztę korzystając z zewnętrznego serwera SMTP, do którego ma wpisany adres i konto pocztowe z którego jest wysyłana wychodząca poczta.
Serwer SMTP jest hostingowy tzn. nie u mnie gdzie mam te 2 serwery linuxowe ze stronami www , tylko u dostawcy jakieś 100km ode mnie.


Mam taki problem, że zdarzyło się, że ktoś wypełnił na mojej stronie www formularz , dane z tego formularza weszły do bazy MySQL natomiast na wskazane w funkcji "phpmailer" konto administratora nie przyszedł/lub nie został wysłany email.
Mam problem, żeby ustalić co się stało - czy email nie został wysłany, jeśli tak to dlaczego lub czy nie dotarł do skrzynki pocztowej na tym serwerze w hostingu 100 km stąd?

Próbowałam coś znaleźć w logach na moim linuxie (to akurat jeszcze Fedora do wymiany na Debiana a drugą stronę mam na Debianie Lenny).
Jedyne logi, które mają jakąś informację w zakresie tego tematu to:
/var/log/httpd/error_log
/var/log/httpd/access_log
i dają one informację o użytkowniku o której godzinie, z jakiego IP się zalogował do części strony na której jest formularz i o otwarciu pliku z formularzem.
Nie znalazłam nic o wysyłaniu emaila za pomocą "phpmailera".
Nie zmieniałam nic w kodach strony www, dzisiaj wysyłanie emaili działa.

Czy przyczyną braku emaila może być na przykład awaria hosta z naszym zewnętrznym serwerem pocztowym? Czy jeżeli ten host byłby chwilowo niedostępny to mój "phpmailer" nie ponowił by za 1 godz, za 2 godz, itp. wysyłania emaila? Czy można ustawić opcję ponawiania wysyłania emaila?


Ogólnie, funkcja wysyłania emaili ze strony jako taka - działa, zdarzenie z którym mam problem dotyczy sprawy sprzed kilku dni w którym tylko 1 użytkownik wypełniał formularz na stronie i email z informacją o tym fakcie nie znalazł się w skrzynce pocztowej administratora.

Może dostanę jakąś poradę od kogoś kto lepiej zna "phpmailera"?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Ta funkcja, o której wspominasz to zapewne mailer() z repozytorium PEARa. Niestety, jeżeli w programie nie masz zaimplementowanej obsługi zdarzeń tej funkcji (chociażby co ona zwraca) to będzie ciężko dowiedzieć się, czy została poprawnie wykonana i jeśli tak to co się dalej z mailem stało. Skoro została zapisana do bazy to pewne jest to, że użytkownik kliknął na "Wyślij". Pozostaje Ci napisać do admina serwera pocztowego, z którego SMTP korzystacie, podanie danych i czasu akcji i niech sprawdzi, czy takie żądanie zostało u nich w logach zarejestrowane.
goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Post autor: goska_23 »

Dzięki za odzew!
Chodziło mi właśnie o to, co w ogóle mogło się stać że nie ma emaila w przypadku gdy funkcja cały czas działała dobrze i brak jest jakichś wskazówek z czego mógł wyniknąć problem.

Aczkolwiek pytanie może brzmieć głupio to chciałam się upewnić czy tego rodzaju funkcje jak mój "phpmailer" umieszczane w kodzie strony www nie mają funkcji "ponawiania", czyli jak nie uda im się połączyć z serwerem SMTP to jest koniec tematu?

Serwer pocztowy na Debianie nie był najpilniejszy więc odłożyłam ten temat a teraz wynika z tego, że jest potrzebny żeby lepiej kontrolować wysyłanie emaili ze strony. ;-)
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Można podsłuchać komunikacje i wybadać czy jest jakiś ruch do SMTP.
ODPOWIEDZ