Есть много sh: 1: /usr/sbin/sendmail: not found
в моем apache2 error.log проблема в том, что я не помню, чтобы ни один из моих сайтов / приложений пытался отправлять почту или что-то еще, и я уже установил WP Mail SMTP в своих блогах wordpress, который работает нормально, поэтому мой проблема в том, как узнать, какое приложение или сайт все время пытается это делать?
Редактировать: Я нашел интересные строки в /var/log/mail.log
:
Jun 22 07:27:31 sm-mta[29654]: r5H8U4O1014238: to=<you@yourdomain.com>, ctladdr=<www-data@xxxx@xxxx.net> (33/33), delay=4+22:57:27, xdelay=00:00:01, mailer=esmtp, pri=63391559, relay=mx00.1and1.com. [74.208.5.3], dsn=4.0.0, stat=Deferred: 421 invalid sender domain
.
Я уже выполнил инструкции по полному удалению любых почтовых приложений на моем сервере, например:
apt-get remove sendmail sendmail-bin postfix
apt-get purge postfix exim4 sendmail sendmail-bin
Эти раздражающие строчки все еще появляются то и дело, что мне теперь делать?
Спасибо, Шейн
Тогда это попытки злоупотреблений для рассылки спама.
Grep свои журналы для запросов POST, и вы обнаружите, какой PHP-скрипт используется довольно быстро.
например:
grep -R POST /var/log/apache2
ОБНОВИТЬ может ваш sendmail все еще работает?
проверить с:
ps auxww | grep sendmail
также
netstat -anp |grep :25
Вы можете найти пид номер все еще работающего демона.
Это известная проблема, если вы используете Drupal и модуль SMTP.
Вы можете сделать подделку sendmail
который регистрирует, что это за сообщение. Может быть, содержание сообщения поможет вам в этом разобраться.
Другой вариант (в случае, если приложение не использует sendmail, но пытается подключиться к порту 25) - создать поддельный почтовый сервер, например: python -m smtpd -n -c DebuggingServer localhost:25
и ловить все подряд.
Я видел эти ошибки, когда случайно передавал "true" в качестве второго параметра error_log ().
Это вызывает неудачную попытку зарегистрировать ошибку по электронной почте.
При написании чего-то вроде error_log(print_r($foo, true));
кто-то, возможно, действительно набрал error_log(print_r($foo), true);