После некоторых изменений сервера наша конфигурация PHP подверглась ядерной атаке, что привело к частичному отключению большого списка рассылки клиента для примерно 4000 адресов или более. Мы хотим, насколько это возможно, избегать отправки повторяющихся писем, и у нас есть исходный список рассылки.
Письмо было отправлено с использованием PHP mail()
функция, которая использует sendmail
, в котором говорится, что он использует Exim
. Я видел команду:
sendmail -bp
Это дает мне список отправленных писем. Этот список не очень большой и может быть точным (это означает, что время ожидания сценария истекло после отправки только сотни или около того электронных писем).
Является sendmail -bp
лучший способ получить это объявление?
РЕДАКТИРОВАТЬ: Я не могу найти mail.log
файл в /var/log/mail.log
или через locate mail.log
, но у WHM, похоже, есть некоторая информация по этому поводу.
В системах на основе Debian exim регистрирует данные в /var/log/exim4/mainlog
.
Вы можете найти eximstats инструмент, полезный для анализа и извлечения полезной информации из этого файла журнала.
sendmail -bp
(и mailq
) перечисляет только почтовую очередь: сообщения в очереди, но еще не отправленные. Он не будет включать те сообщения, которые были успешно доставлены.
Вы должны проверить /var/log/mail.log
(и другие файлы журналов) - в них почти всегда есть записи о каждой передаче.
php 5.3.0 добавил 2 настройки, которые упрощают отслеживание мошеннических скриптов:
mail.add_x_header
mail.log