Вчера сделал публикацию с настройкой сервера. Заметил, что многие поинтересовались подробностями на тему настройки системной почты в Linux. Решил вынести это в отдельную публикацию и пояснить. Ранее не писал об этом заметок.
По умолчанию известные мне дистрибутивы Linux (Debian, Centos, Ubuntu) системную почту для пользователя root записывают в директорию /var/spool/mail. Там создаётся файл для каждого системного пользователя, для которого было отправлено хотя бы одно письмо. Почта для root может складываться в файл root или другого пользователя, который был создан во время установки системы.
Узнать, куда точно отправляется почта для root, можно в файле с алиасами - /etc/aliases. В строке root: посте двоеточия будет указано, куда отправлять почту суперпользователя. Это может быть как обычный локальный пользователь:
root: user01
так и сам root:
root: root
Если вы хотите отправлять эту почту на какой-то внешний ящик, то можно его указать в алиасе:
root: [email protected]
После редактирования алиасов, нужно обновить локальную базу данных с ними:
# newaliases
Для того, чтобы отправить почту, вы должны установить локальный почтовый клиент или сервер. Например, postfix, либо любой другой (exim, msmtp и т.д.). Без дополнительной настройки этот почтовый сервер будет пытаться самостоятельно отправить почту. Если не выполнить предварительно настройку DNS, то с большой долей вероятности отправленное письмо попадёт в спам. В целом, это не проблема, если письмо получаете вы сами. Сделаете исключающее правило и можно больше ничего не настраивать.
Сейчас всё чаще отправка почты блокируется хостерами. Разрешить отправку по 25 порту либо вообще невозможно, либо нужно написать в тех. поддержку и объяснять, зачем вам это нужно. В большинстве случаев для системной почты заниматься этим не имеет смысла. Лучше использовать какой-то сторонний сервер для доставки почты. Для этого вам нужно настроить локальный почтовый клиент (либо сервер, работающий как клиент) на работу через внешний сервер. Настройка будет зависеть от типа сервера, который вы установите.
У меня есть статья с примером настройки почтового сервера postfix для отправки системной почты через внешний сервер. Отдельно я рассмотрел вопрос отправки почты через почту Яндекса, где нужно учесть один важный нюанс. Адрес отправителя должен совпадать с логином в почтовой системе. Рассказываю, как в postfix его изменить, потому что по умолчанию отправка будет идти от локального пользователя сервера.
Реализаций отправки системной почты может быть много. Подойдёт любой локальный почтовый клиент или сервер с возможностью отправки через внешний сервер. Я всегда использую postfix, потому что умею его настраивать. Но у него не самая простая и очевидная настройка для таких задач. Проще взять msmtp. Там вся настройка в одном файле. Вот пример для Debian.
А вы как решаете вопрос с доставкой системной почты? Собираете её? В целом, там не так много полезной информации, которую прям обязательно нужно читать. Если есть система сбора логов и мониторинг, то всё самое важное в системном логе тоже будет. В основном эта почта интересна для контроля за задачами cron. Иногда можно почитать о новых пакетах, которые предлагают к обновлению. Больше не припомню чего-то реально полезного.
#mailserver #linux