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

centos - как отключить sendmail / clientmqueue?

Наш сервер / var / direction продолжает заполняться из-за того, что sendmail отправляет электронную почту root (/ var / spool / mail / root был 2 ГБ).

Все сценарии наших сайтов используют внешние smtp-серверы для отправки электронной почты, поэтому мы хотели бы отключить sendmail на сервере, чтобы избежать повторения этой проблемы, поскольку каждый раз, когда каталог заполняется, mysql выключается, потому что он не может писать в / var / log. /, так как в нем нет места.

Есть ли способ безопасно отключить sendmail, который не повлияет на подключение php к внешнему smtp? Я не уверен, что для этого используется sendmail.

Или, возможно, кто-то знает способ запретить sendmail отправлять электронную почту root, несмотря ни на что.

Лучше всего просто перенаправить почту root через / etc / aliases. Выберите другой адрес, который может обрабатывать объем почты. В противном случае перенаправьте его на / dev / null. Sendmail может быть отключен и не влияет на отправку почты PHP, если предполагается, что страницы PHP написаны для взаимодействия с определенным внешним SMTP-сервером. Если они просто отправляют почту без указания сервера для подключения, они в конечном итоге ретранслируют через localhost, поэтому локальное закрытие sendmail приведет к сбою сценариев PHP.

Если вы работаете в cron от имени пользователя root, просто отправьте MAILTO = "" в первой строке, если вы заинтересованы в получении уведомлений. Рекомендуется установить в нем адрес электронной почты, который будет отслеживать действия crontab.

MAILTO=""
* * * * * /bin/bash script.sh

или на адрес электронной почты монитора

MAILTO="cronmonitor@company.com"
* * * * * /bin/bash script.sh  

Отключение sendmail может помочь, а может и не помочь, в зависимости от того, как генерируется локальная почта. Вы все равно можете получить корневой почтовый ящик 2G. Что вам нужно, так это решить, следует ли отправлять почту для пользователей на этом компьютере в другое место или отбрасывать. Вы можете сделать это из /etc/mail/aliases что является «статическим» решением (потому что с каждым новым пользователем, добавляемым в систему, вам необходимо добавить строку и в этот файл), или более «динамическим», когда, например, электронная почта для локальных пользователей пересылается на назначенный пользователь в другом месте:

LOCAL_CONFIG
Kuser user -m -a.FOUND

LOCAL_RULE_0
R$- < $=w . > $*        $: $(user $1 $) < $2 . > $3
R$- . FOUND < $=w . > $*          $@ john.doe < @ example . com . > $3

Вышеупомянутые строки добавлены к sendmail.mc. Далее в соответствии с директивами вашего дистрибутива вы создаете sendmail.cf и перезапустите sendmail. В CentOS это означает запуск /etc/mail/make с последующим service sendmail restart.