Po niektórych zmianach na serwerze nasza konfiguracja PHP została zlekceważona, co spowodowało częściowe przekroczenie limitu czasu dużej listy mailingowej klienta przez około 4000 adresów lub więcej. Chcemy unikać wysyłania zduplikowanej poczty w jak największym stopniu, a my mamy oryginalną listę mailingową.
Wiadomość została wysłana za pomocą mail()
funkcji PHP , która używa sendmail
, co oznacza, że używa Exim
. Widziałem polecenie:
sendmail -bp
Co daje mi listę mail, która pojawia się została wysłana. Ta lista nie jest zbyt duża i może być dokładna (co oznacza, że limit czasu skryptu upłynął po wysłaniu około stu e-maili)
Czy sendmail -bp
to najlepszy sposób na uzyskanie tej oferty?
EDYCJA: Nie mogę znaleźć żadnego mail.log
pliku w /var/log/mail.log
lub za pośrednictwem locate mail.log
, ale WHM wydaje się mieć pewne informacje na ten temat.
Odpowiedzi:
W systemach opartych na Debianie exim loguje dane
/var/log/exim4/mainlog
.Narzędzie eximstats może być przydatne do analizowania i usuwania przydatnych informacji z tego pliku dziennika.
źródło
sendmail -bp
(imailq
) wyświetla tylko kolejkę poczty: wiadomości w kolejce, ale jeszcze nie wysłane. Nie będzie zawierać wiadomości, które zostały pomyślnie dostarczone.Powinieneś sprawdzić
/var/log/mail.log
(i inne pliki logów) - prawie zawsze mają zapisy każdego transferu.źródło
php 5.3.0 dodał 2 ustawienia, które ułatwiają śledzenie nieuczciwych skryptów:
http://php.net/manual/en/mail.configuration.php
źródło