Msmtp

Материал из OpenWiki
Перейти к: навигация, поиск

Настройка msmtp для отправки уведомлений администратору по E-Mail.

Из обсуждения http://www.opennet.ru/openforum/vsluhforumID1/91348.html#7

Системные демоны устанавливаемые на linux машинах как правило уведомляют пользователя root о важных событиях происходящих на сервере использую командный интерфейс sendmail или mail.

Для того, чтобы системные демоны отправляли почту не на локально настроенный mta пользователю root@localhost или root@servername а другой адрес email для этого можно:

1. настроить локальный mta идущий в стандартной установке ос, например для debian это exim, для ubuntu postfix на использование smarthost. но при этом сам smarthost не должен отбрасывать от вашего серверу почту. что не всегда возможно!

2. использовать что-то еще ...

3. использовать msmtp

ВАЖНО! Многие smtp требуют чтобы поле From: было равно тому, под кем серверу представляется mua. В достижении этого нам поможет msmtp - мощный почтовый консольный клиент (mua) с интерфейсом sendmail.

Одно из очень необходимых качеств которого является умение заменять Отправителя на Отправителя указанного в конфигурации /etc/msmtprc

Поэтому его очень легко использовать в качестве mua отправляющего почту администратору сервера через smtp популярных почтовых провайдеров, например smtp.yandex.ru, smtp.google.ru и т.д.

Для достижения поставленной цели на debian based системах необходимо выполнить следующие шаги :

1. aptitude -R -y install msmtp 2. nano /etc/msmtprc

defaults

account default
host smtp.yandex.ru
port 25
auth on
tls on
tls_starttls on
tls_certcheck off
user user@example.com
password adminplaintextpassword
from admin@example.com
logfile msmtp.log

2. удалить символическую ссылку, на всякий случай

rm /usr/sbin/sendmail

3. сделать символическую ссылку, чтобы программы использующие стандартных интерфейс файла sendmail, использовали при этом msmtp. а не например установленный exim, postfix, nullmailer и т.д.

ln -s /usr/bin/msmtp /usr/sbin/sendmail

4. проверить отправку стандартным способом через команду sendmail или mail

5. настроить например mdadm, smartd через указание в конфигах нужного email администратора.

примечание: в mdadm.conf можно указать только один email

проверить отправку почты mdadm можно командой:

mdadm --monitor --scan --test --oneshot


проверить отправку почты smartd можно:

отредактировать /etc/smartd.conf обязательно добавив параметры -m admin@example.com и -M test в строку конфигурации, например:

DEVICESCAN ... -m admin@tech-club.ru -M test ...

DEVICESCAN - для всех устройств в системе.

выполнив перезапуск smartd 
invoke-rc.d smartd restart