===== Как настроить отсылку уведомлений на внешний почтовый сервер с помощью msmtp в Debian GNU/Linux ===== {{:unix-linux:debian:pasted:20170319-123914.png }} Не смотря на то, что [[https://wiki.debian.org/Exim|в документе]] указано то, что **Exim** поставляется в **Debian Linux** по умолчанию, как это было [[unix-linux:debian:jessie:linux-how-to-setup-exim4-for-email-notifications-to-relayhost-in-debian-8-jessie|в предыдущих версиях Debain]], свежеустановленный **Debian Buster** не имеет никакого ПО для отправки электронной почты за пределы сервера. Предположим, у нас в организации уже имеется почтовый сервер и нам нужно сделать так, чтобы письма, сформированные всевозможными локальными службами и приложениями на нашей Linux-системе, пересылались на этот почтовый сервер (relayhost/smarthost). Для решения этой задачи мы можем установить в систему простой и легковесный почтовый клиент, умеющий выполнять такую пересылку - [[https://wiki.debian.org/msmtp|msmtp]]:
# apt install msmtpКонфигурационные файлы для работы **msmtp** могут быть, как глобальные на уровне системы, так и на уровне отдельно взятого пользователя системы.\\ Глобальный файл может располагаться в ''/etc/msmtprc''.\\ Файл настроек пользователя может размещаться в профиле в ''~/.msmtprc''.\\ Получить информацию о настройке конфигурации msmtp можно в **man msmtp**. Примеры конфиг.файлов для системы и пользователя лежат здесь:
# updatedb # locate msmtprc /usr/share/doc/msmtp/examples/msmtprc-system.example /usr/share/doc/msmtp/examples/msmtprc-user.exampleСкопируем примерный конфиг.файл уровня системы и откроем его на редактирование:
# cp /usr/share/doc/msmtp/examples/msmtprc-system.example /etc/msmtprc # nano /etc/msmtprcЗадаём в файле адрес внешнего почтового сервера в опциях ''host'' / ''port'', а также при необходимости добавляем поле ''from'', в котором указывается имя отправителя почты на тот случай, если в внутренний почтовый сервер использует проверку имён отправителя. Пример заполненного файла:
# echo -e "Subject: mSMTP Test" | msmtp DST-Monitoring@holding.comДолжно прийти письмо с адреса, указанного в опции ''from'' в конфиг.файле ''msmtprc''.\\ Если письмо не приходит, то можно проанализировать лог отправки:
# cat /var/log/mail.logВ **Debian 12 (Boorkworm)** классический лог-файл ''/var/log/mail.log'' отсутствует, поэтому, согласно настроек нашего конфигурационного файла ''msmtprc'' искать лог активности msmtp можно в системном логе с помощью **journalctl**. Первая команда покажет все уже зафиксированные события системного лога. В случае, если событий в логе очень много, мы можем отфильтровать их вывод, оставив только события, касающиеся facility=LOG_MAIL:
# journalctl --system # journalctl --system --facility=2Клиент **msmtp** это **sendmail**-совместимое приложение, поэтому для любых служб и приложений сервера, использующих вызов **sendmail** мы сделаем перенаправление на **msmtp**.\\ Для начала убедимся в том, что в системе нет действующих ссылок на ''/usr/sbin/sendmail'':
# ls -la /usr/sbin/sendmail ls: cannot access '/usr/sbin/sendmail': No such file or directoryСлинкуем **sendmail** с клиентом **msmtp**:
# ln -s /usr/bin/msmtp /usr/sbin/sendmail # ls -la /usr/sbin/sendmail lrwxrwxrwx 1 root root 14 Aug 21 17:47 /usr/sbin/sendmail -> /usr/bin/msmtpТеперь можно протестировать приложения, использующие отправку почты.\\ Например, если в системе сконфигурированы программные RAID-массивы **mdraid** и настроена и сконфигурирована служба оповещений **mdmonitor** (опции ''MAILADDR'' и ''MAILFROM'' в ''/etc/mdadm/mdadm.conf''), то можем инициировать разовый тест состояния RAID-устройств с отправкой оповещения:
# mdadm --monitor --scan --test --oneshotВ результате по каждому из устройств mdraid мы должны получить по отдельному письму. Если это произошло, значит настроенный нами механизм оповещений через **msmtp** работает успешно. ---- Дополнительные источники информации: [[https://ubuntuforums.org/showthread.php?t=1185134|How To Configure mdadm RAID e-mail Notifications via ISP SMTP Using msmtp]] ---- Проверено на следующих конфигурациях: ^ Версия ОС ^ Версия msmtp ^ |Debian GNU/Linux Buster 10.13 | 1.8.3 | |Debian GNU/Linux Bullseye 11.7 | 1.8.11 | |Debian GNU/Linux Bookworm 12.0 | 1.8.23 | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 21.08.2020 18:22 {{tag>Linux Debian "Debian 10" "Debian 11" "Debian 12" "Debian Buster" "Debian Bullseye" "Debian Bookworm" msmtp mail email smarthost relayhost SMTP sendmail mdraid mdmonitor mdadm}} ~~DISCUSSION~~