TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
Post #5594 3.71K
Отправка системной почты через внешний почтовый сервер

В Linux системах вы будете постоянно сталкиваться с необходимостью отправки почты системных пользователей внешнему получателю. Исторически для этих целей был предназначен Sendmail – старейший MTA – агент отправки почты.

В современных системах Sendmail обычно не используется и является ссылкой на другие почтовые агенты, например, Postfix.

Но реалии сегодняшнего дня таковы, что настройка собственного SMTP-сервера на служебных серверах не имеет никакого смысла. Требования к добросовестному отправителю почты сегодня весьма велики, и ваш отправитель скорее всего попадет в спам у всех публичных и непубличных почтовых сервисов.

Можно, конечно, настроить все правильно, но это достаточно затратно и неоправданно для рабочих серверов. Поэтому более универсальным решением будет использовать внешние почтовые службы, публичные или собственные.

Для этого нам нужно будет передать системную почту специальному почтовому клиенту (MUA), который, с одной стороны, будет имитировать стандартный Sendmail, а на самом деле работать в роли почтового клиента, отправляя почту через внешние сервера.

Одним из таких приложений является SSMTP, который прозрачно заменяет sendmail и позволяет отправлять системную почту через внешний почтовый сервер.

Установим его:

apt install ssmtp mailutils


Затем откроем файл /etc/ssmtp/ssmtp.conf и приступим к редактированию параметров, благо их немного.

Сначала укажем получателя для системной почты (все пользователи с идентификаторами < 1000):

root = admin@examlpe.com


Если вы не хотите выполнять перенаправление, то оставьте эту опцию пустой.

Разрешим изменять отправителя в поле From, для этого раскомментируйте и приведите к следующему виду опцию:

FromLineOverride=YES


Если этого не сделать, то система будет отправлять письма от имени root@hostname, которые будут отклоняться почтовым сервером.

В некоторых случаях вам потребуется правильно указать в опции hostname имя хоста, желательно FQDN, но в большинстве случаев все работает с автоматически подставленным туда значением.

Это были общие параметры, а теперь настроим работу с почтовыми службами.

В общем виде настройка выглядит так:

mailhub=smtp.example.com:587

AuthUser=my_account@example.com
AuthPass=mY_pa$$word_1
UseTLS=YES
UseSTARTTLS=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt


Настройки достаточно простые и не требуют подробных пояснений. В опции mailhub указываем адрес и порт почтового сервера, ниже идут учетные данные и параметры шифрования.

Теперь создадим алиасы, чтобы системные пользователи могли отправлять почту через ssmtp. Для этого откроем /etc/ssmtp/revaliases и внесем туда следующую строку:

root:my_account@example.com:smtp.example.com:587


Это означает что пользователю root соответствует аккаунт my_account@example.com на сервере smtp.example.com:587 и отправку почты следует производить через него.

Секций mailhub в конфигурационном файле может быть несколько, и разные пользователи могут отправлять почту через разные системные записи.

Для проверки выполните:

echo "Test" | mail  -s "Test" admin@example.com


После чего вы должны получить на указанную почту тестовое письмо.

В случае ошибки полезно будет выполнить отладку с получением логов обмена с почтовым сервером, для этого немного изменим команду отправки почты:

 echo "Test" | ssmtp -v -s "Test" admin@example.com


Теперь весь обмен с сервером как на ладони, что позволяет быстро найти и исправить возможные ошибки настройки.
  • 👍 54
  • ❤ 8
  • 🥱 1
More from @interface31
  1. Oct 2, 2026Post #6832
  2. Oct 2, 2026Без лишнего шума и пыли вышла Aspia 3.0. Ключевые изменения в выжимке ниже: 1️⃣ Архитектур…
  3. Oct 2, 2026Post #6826
  4. Oct 1, 2026V2V миграция при помощи Vinchin Backup & Recovery Виртуализация сегодня – норма жизни, даж…
  5. Oct 1, 2026Post #6822
  6. Oct 1, 2026Проблема, как и статья не новая, но регулярно возникают вопросы. Не включается сетевое обн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →