Если у вас на сайте / на сервере появился скрипт, который отсылает слишком много электронных писем а-ля спам, то вы можете его отследить с помощью пары строчек специальных настроек в файле php.ini.
К слову стоит особо подчеркнуть, что просто так ничего не появляется на сайтах. Комплексно ищите веб-шеллы, ищите причины взлома и т.п. Просканируйте сайт на наличие вирусов специальным программным обеспечением. Но давайте все же вернемся к теме заметки…
Пропишите в php.ini:
mail.add_x_header = On mail.log = /var/www/pMMMMMMM/data/logs/php_mail_report.log
Так же эти значения можно прописать в .htaccess:
php_value mail.add_x_header 1 php_value mail.log DocumentRoot mail.log
Логи вызова функции mail()
(для текущего примера) будут собираться в каталоге /var/www/pMMMMMMM/data/logs, в файле php_mail_report.log. Выглядеть последние будут вот так:
Важно! Работать такой способ логирования отправки писем будет с PHP 5.3 и старше. Узнать версию PHP вы можете с помощью функции
phpinfo()
.
Поскольку уже несколько раз на хостинге клиента пхп работал как fast-cgi, то можно добавить проверку на подключение php как модуля apache. И тогда не будет белого экрана или ошибки 500
<IfModule mod_php5.c> php_value mail.add_x_header 1 php_value mail.log DocumentRoot mail.log </IfModule>