Содержание
Иногда нужно, чтобы сервер умел посылать почту. Например, система мониторинга должна извещать админа о сбоях, веб-сервер — оповещать пользователей форума о новых ответах. Для этого в системе должен быть пакет mail-transport-agent
. Это виртуальный пакет, то есть на самом деле программы с таким названием не существует. Роль mail-transport-agent
может выполнять exim
, sendmail
, postfix
, ssmtp
или ещё какая-то почтовая программа.
exim
exim
используется в debian-дистрибутивах по дефолту. Большой и многофункциональный, используется, когда сервер является полноценным почтовым сервером. Для нашего случая он годится, но избыточен.
sendmail
sendmail
— классический MTA. Для простейшей отправки почты требуются небольшие изменения конфига и совсем немного времени. Но возможностей у sendmail
очень много, обычно ненужных. Одно из побочных действий богатства возможностей — необходимость выполнять такой неординарную процедуру, как «компиляция конфигов».
Есть мнение, что он уже покрылся плесенью времён и применяться более не должен, так что его настройку описывать не будем.
ssmtp
В нашем случае отличной заменой sendmail'у может стать ssmtp
— действительно маленькая программа с самым базовым функционалом.
sudo apt-get install ssmtp
В конфигурационный файл /etc/ssmtp/ssmtp.conf
достаточно внести всего одну строку:
mailhub=192.168.1.1
где 192.168.1.1 — сервер, через который будет ходить почта (например, провайдерский или корпоративный почтовый сервер). Есть возможность указать некоторые другие опции, например, домен отправителя.
nullmailer
Напишите, кто знает
Проверка
Быстро проверить, работает ли MTA, можно так:
echo "This will go into the body of the mail." | mail -s "Hello world" somebody@example.com