Итак, на повестке дня это разбор настроек для MTA-агента, имя которому ssmtp который будет установлен на Ubuntu 22.04 Server (но справедливо и на Ubuntu [16-22].04) с его помощью можно будет с сервисов на системе инициировать отправку уведомлений мне (адресату) для оперативного информирования о проблемах, диагностический данных и т.д. MTA-агент будет настроен с почтового сервера который развернут у меня в домашнем окружении на базе связки WAN-IP&DNS = Wireguard туннель + HP MicroServer Gen8 (4CPUs x 2,494Ghz, Intel Xeon CPU E3-1265L V2 2.50GHz, RAM 12Gb)

Предварительные действия:

Шаг №1: Разворачиваю для данной заметки виртуальную машину с осью Ubuntu 22.04 Server

Шаг №2: Обновляем информацию о репозитариях, обновляем установленные пакеты и систему в рамках текущего долговременного релиза:

ekzorchik@srv-us2204a1a:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-us2204a1a:~$ cat /etc/update-manager/release-upgrades | grep Prompt
Prompt=lts
ekzorchik@srv-us2204a1a:~$ sudo sed -i '/Prompt/s/lts/never/' /etc/update-manager/release-upgrades
ekzorchik@srv-us2204a1a:~$ cat /etc/update-manager/release-upgrades | grep Prompt
Prompt=never
ekzorchik@srv-us2204a1a:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt dist-upgrade -y

Шаг №3: Устанавливаю приложения которые хочу иметь текущей системы (у каждого уважающего себя системного администратора — он обычно свой):

ekzorchik@srv-us2204a1a:~$ sudo apt-get install -y mercurial unzip net-tools

Шаг №4: Настраиваю локаль:

ekzorchik@srv-us2204a1a:~$ sudo rm -f /etc/localtime
ekzorchik@srv-us2204a1a:~$ sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
ekzorchik@srv-us2204a1a:~$ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
ekzorchik@srv-us2204a1a:~$ echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale
LC_ALL=en_US.UTF-8
ekzorchik@srv-us2204a1a:~$ echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale
LANG=en_US.UTF-8
ekzorchik@srv-us2204a1a:~$ echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale
LANGUAGE=en.US.UTF-8
ekzorchik@srv-us2204a1a:~$

После выполняю Logoff&Logon для активации изменений настроек локали.

Шаг №5: Устанавливаю MTAагент ssmtp из дефолтных репозитариев системы:

ekzorchik@srv-us2204a1a:~$ apt-cache show ssmtp | grep "Description-en"
Description-en: extremely simple MTA to get mail off the system to a mail hub
ekzorchik@srv-us2204a1a:~$
ekzorchik@srv-us2204a1a:~$ apt-cache show ssmtp | grep "Version"
Version: 2.64-10
ekzorchik@srv-us2204a1a:~$ sudo apt-get install -y ssmtp mailutils

Шаг №6: Создаю подключение к почтовому ящику support@ekzorchik.com:

ekzorchik@srv-us2204a1a:~$ sudo cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.backup
ekzorchik@srv-us2204a1a:~$ sudo mv /usr/sbin/sendmail /usr/sbin/sendmail.old
ekzorchik@srv-us2204a1a:~$ sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
ekzorchik@srv-us2204a1a:~$ sudo nano /etc/ssmtp/ssmtp.conf
#Для отладки режим расширенного логирования
Debug=YES
#Ящик, куда будет отправляться вся локальная почта предназначенная пользователям с uid = ekzorchik
ekzorchik=support@ekzorchik.com
#Адрес SMTP-сервера
mailhub=mail.ekzorchik.com:465
#Авторизация на Ubuntu 22.04 + iRedMail 1.6.2
AuthUser=support@ekzorchik.com
AuthPass=PASSWORD
#Принудительное переписывание домена в поле FROM:
rewriteDomain=ekzorchik.com
hostname=localhost
#Разрешать скриптам выбирать с какого ящика отправлять письмо
FromLineOverride=YES
#Использовать TLS шифрование
UseTLS=YES

Шаг №7: Указываю для локальных учетных записей системы Ubuntu 22.04 Server что если что-то происходит в системе, то для этих учетных данных есть возможность взаимодействовать с настроенным почтовым агентом:

ekzorchik@srv-us2204a1a:~$ sudo nano /etc/ssmtp/revaliases
ekzorchik:support@ekzorchik.com:mail.ekzorchik.com:465
root:support@ekzorchik.com:mail.ekzorchik.com:465

Шаг №8: Отправляю тестовое сообщение из Ubuntu 22.04 Server на почтовый ящик support@ekzorchik.ru с помощью утилиты mail или утилиты ssmtp (она входит в пакет mailutils):

ekzorchik@srv-us2204a1a:~$ echo "Privet EKZORCHIK" | mail -s PRIVET support@ekzorchik.ru
или
ekzorchik@srv-us2204a1a:~$ echo "Privet EKZORCHIK" | ssmtp -v -s support@ekzorchik.ru
[<-] 220 ekzorchik.com ESMTP Postfix
[->] EHLO localhost
[<-] 250 CHUNKING
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] c3VwcG9ydEBla3pvcmNoaWsuY29t
[<-] 334 UGFzc3dvcmQ6
[<-] 235 2.7.0 Authentication successful
[->] MAIL FROM:<support@ekzorchik.com>
[<-] 250 2.1.0 Ok
[->] RCPT TO:<support@ekzorchik.ru>
[<-] 250 2.1.5 Ok
[->] DATA
[<-] 354 End data with <CR><LF>.<CR><LF>
[->] Received: by localhost (sSMTP sendmail emulation); Thu, 19 Jan 2023 08:24:49 +0300
[->] From: "ekzorchik" <support@ekzorchik.com>
[->] Date: Thu, 19 Jan 2023 08:24:49 +0300
[->] Privet EKZORCHIK
49 sSMTP[1522]: via SMTP Port Number="465"
[->]
[->] .
[<-] 250 2.0.0 Ok: queued as 4NyB026YRyz1k1
[->] QUIT
[<-] 221 2.0.0 Bye
ekzorchik@srv-us2204a1a:~$

Ниже скриншот отправленного письма адресату support@ekzorchik.ru

Ниже скриншот отправленного письма адресату support@ekzorchik.ru

Подведем итог, MTA-агент успешно настроен и теперь можно настраивать отправку уведомлений из системы, как посредством скриптов, так и через формы сервисов.

На этом я пока завершу свою заметку, с уважением автор блога Олло Александр aka ekzorchik.