Итак, на повестке дня это разбор настроек для 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)
Предварительные действия:
Поднимем WireGuard VPN туннель на Ubuntu 20.04
Wireguard-туннель между Ubuntu 20.04 и Ubuntu 22.04
iRedmail 1.6.2 на Ubuntu 22.04 через Wireguard туннель
Шаг №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
Подведем итог, MTA
-агент успешно настроен и теперь можно настраивать отправку уведомлений из системы, как посредством скриптов, так и через формы сервисов.
На этом я пока завершу свою заметку, с уважением автор блога Олло Александр aka ekzorchik.