Задача: Нужно в локальной сети на Ubuntu 18.04 Server настроить MTA клиент ssmtp на работу с почтовым сервером, а в роли почтового сервера выступает Windows Server 2008 R2 SP1 + Exchange 2010 Version 14.03.0123.003. Вообще данная задача связана с моим переносом одного портала из CentOS 7 (Docker) в пользу Ubuntu 18.04 Server (nginx + php7.3-fpm + mariadb). Мой руководитель отдела IT сказал проработать работоспособность отправки уведомлений с портала где почтовый сервер — это наш офисный почтовый сервер на базе Exchange 2010.

Необходимые приготовления

ssmtp - extremely simple MTA to get mail off the system to a mail hub

Шаг №1: Устанавливаю утилиту ssmpt и mailutils

ekzorchik@srv-bionic:~$ sudo apt-get install -y ssmtp mailutils

Шаг №2: Создаю резервную копию дефолтного конфигурационного файла ssmtp.conf

ekzorchik@srv-bionic:~$ sudo cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.backup

ekzorchik@srv-bionic:~$ sudo ls -l /etc/ssmtp/

total 12

-rw-r----- 1 root mail 200 Apr 3 2018 revaliases

-rw-r----- 1 root mail 581 Apr 10 21:18 ssmtp.conf

-rw-r----- 1 root root 581 Apr 10 21:20 ssmtp.conf.backup

ekzorchik@srv-bionic:~$

Шаг №3: Произвожу настройку ssmtp.conf на работу с почтовым сервером Exchange 2010:

ekzorchik@srv-bionic:~$ sudo nano /etc/ssmtp/ssmtp.conf

#Debug
#Debug=YES

#Ящик, куда будет отправляться вся локальная почта предназначенная пользователям с uid = ekzorchik

ekzorchik=alektest@polygon.com

#Адрес SMTP-сервера

mailhub=srv-mail.polygon.com:587

#Принудительное переписывание домена в поле FROM:

rewriteDomain=polygon.com

#Использовать SSL/TLS шифрование

UseSTARTTLS=YES

#Использовать TLS шифрование

#UseTTLS=YES

#Авторизация на Exchange 2010 сервере

AuthUser=alektest

AuthPass=Aa1234567

#Разрешать скриптам выбирать с какого ящика отправлять письмо

FromLineOvveride=yes

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

ekzorchik@srv-bionic:~$ sudo nano /etc/ssmtp/revaliases

root:alektest@polygon.com:srv-mail.polygon.com:587

ekzorchik:alektest@polygon.com:srv-mail.polygon.com:587

Шаг №5: Заменяю утилиту sendmail на ssmtp текущего сервера:

ekzorchik@srv-bionic:~$ sudo mv /usr/sbin/sendmail /usr/sbin/sendmail.old

ekzorchik@srv-bionic:~$ sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail

Шаг №6: Отправляю тестовое сообщение из Ubuntu 18.04 Server на почтовый ящик aollo@polygon.com с помощью утилиты mail (она входит в пакет mailutils):

ekzorchik@srv-bionic:~$ echo "Test message for Ubuntu 18.04 Server" | mail -s Test aollo@polygon.com

ekzorchik@srv-bionic:~$

Открываю браузером (Outlook Web App : http://srv-mail/owa/aollo@polygon.com/) почтовый ящик и вижу отправленное письмо от alektest@polygon.com кому aollo@polygon.com

Полученное письмо через отправку посредством MTA ssmtp

Шаг №7: Еще один вариант отправки тестового письма через утилиту ssmtp:

ekzorchik@srv-bionic:~$ echo "Test message for Ubuntu 18.04 Server" | ssmtp -v -s "test" -d test aollo@polygon.com

ниже лог подключения и отправки письма.

Ниже лог подключения и отправки письма

Шаг №8: Мой Вам совет сделать на Вашем брандмауэре правило которое именно определенным адресатам дает возможность авторизовываться на Вашем почтовом сервере по порту 587. Да и вообще что из вне контактирует с ресурсами компании должно быть правило со списками кому можно. Так Вы убережете свои ресурсы и усложните жизнь тем кто пытается Вас взломать.

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