Назад | Перейти на главную страницу

Получить журнал почты, отправленной с помощью mail () из PHP (sendmail?)

После некоторых изменений сервера наша конфигурация 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 -bpmailq) перечисляет только почтовую очередь: сообщения в очереди, но еще не отправленные. Он не будет включать те сообщения, которые были успешно доставлены.

Вы должны проверить /var/log/mail.log (и другие файлы журналов) - в них почти всегда есть записи о каждой передаче.

php 5.3.0 добавил 2 настройки, которые упрощают отслеживание мошеннических скриптов:

mail.add_x_header
mail.log

http://php.net/manual/en/mail.configuration.php