Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


Боковая панель

unix-linux:debian:jessie:linux-how-to-setup-exim4-for-email-notifications-to-relayhost-in-debian-8-jessie

Как настроить отсылку уведомлений на внешний почтовый сервер с помощью exim4 в Debian 8 (Jessie)

По умолчанию в Debian 8 (Jessie) устанавливаются пакеты exim4 и mutt. exim4 - это почтовый сервис MTA/MDA,который может выступать для приёмки почты от локальных служб и приложений и пересылать её наружу на другие почтовые серверы. mutt - это простой почтовый клиент. По умолчанию exim4 настраивается на обработку только локальной почты самой системы, а почта, предназначенная системному администратору (учётная запись root), будет доставлена на учётную запись обычного пользователя (созданного во время установки) в файл /var/mail/{user}

Предположим, у нас в организации уже имеется почтовый сервер, нам нужно сделать так, чтобы служба exim4, работающая на нашем сервере, принимала почту от локальных служб на интерфейсе localhost:25 и переправляла всю почту на почтовый сервер организации (relayhost).


Реконфигурация пакета exim4

Выполним реконфигурацию пакета exim4:

# dpkg-reconfigure exim4-config

Из предложенных вариантов настройки конфигурации выбираем smarthost без локальной почты:

Поле System mail name очистим или оставим FQDN имя нашего сервера

Укажем интерфейс на котором exim4 будет повесит TCP-прослушиватель для приёма почты:

Домены, для которых почта будет считаться локальной указывать не будем, чтобы вся почта шла на smarthost

Укажем адрес внешнего почтового сервера (smarthost)

Не будем отказываться от активного использования DNS, так как предполагаем, что DNS-серверы у нас в сети работают исправно и доступны всегда.

Чтобы не усложнять, откажемся от дробления конфигурации на 50 разных файлов и будем использовать конфигурацию с единым файлом.

Утилита конфигурации завершит свою работу.

Если требуется более тонка настройка, то конфиги exim4 лежат в каталоге /etc/exim4/

В частности, результаты работы exim4-config будут сброшены в /etc/exim4/update-exim4.conf.conf

Проверяем статус службы:

# service exim4 status
● exim4.service - LSB: exim Mail Transport Agent Loaded: loaded (/etc/init.d/exim4) Active: active (running) since Mon 2017-02-27 22:14:09 MSK; 8s ago Process: 7227 ExecStop=/etc/init.d/exim4 stop (code=exited, status=0/SUCCESS) Process: 7237 ExecStart=/etc/init.d/exim4 start (code=exited, status=0/SUCCESS) CGroup: /system.slice/exim4.service └─7496 /usr/sbin/exim4 -bd -q30m Feb 27 22:14:09 KOM-AD01-MON20 exim4[7237]: Starting MTA: exim4. Feb 27 22:14:09 KOM-AD01-MON20 systemd[1]: Started LSB: exim Mail Transport Agent.

Тестируем отправку почты

Протестируем локальную отправку почты через exim4 на localhost:25 с помощью утилиты mail:

$ echo "test mail." | mail -s Test Vasya.Pupkin@holding.com

Протестируем более сложную локальную отправку почты через exim4 на localhost:25 с помощью telnet-подключения:

# telnet 127.0.0.1 25
Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. 220 KOM-AD01-MON20.holding.com ESMTP Exim 4.84_2 Mon, 27 Feb 2017 22:16:28 +0300 ehlo localhost <--- Вводим первую обязательную команду 250-KOM-AD01-MON20.holding.com Hello localhost [127.0.0.1] <--- Ответ сервера 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250 HELP mail from:KOM-AD01-MON20@holding.com <--- Вводим от кого отправляется письмо 250 OK <--- Сервер готов принять письмо от указанного адресата rcpt to:DST-KOM-MON-Admins@holding.com <-- Вводим кому отправляется письмо 250 Accepted <--- Сервер готов принять письмо для указанного адресата data <--- Вводим команду для начала ввода данных письма 354 Enter message, ending with "." on a line by itself <--- Сервер просит закончить письмо точкой Subject:Test message <--- Вводим тему письма, затем Enter This is my test message body <--- Вводим тело письма . <--- В конце ввода письма на отдельной строчке ставим точку и жмём Enter 250 OK id=1ciQpQ-0001yL-Je <--- Сервер сообщает о том, что письмо сформировано и поставлено в очередь для отправки quit <--- Вводим команду завершения SMTP-сессии 221 KOM-AD01-MON20.holding.com closing connection <--- Сервер закрывает соединение Connection closed by foreign host.

В реальной режиме времени лог отправки можно посмотреть так:

# tail -f /var/log/exim4/mainlog

Локальная отправка почты

Может оказаться так, что некоторые приложения будут пытаться отослать почту на локальных пользователей системы. Например, некоторые приложения по умолчанию могут быть настроены так, что в случае каких-то критических проблем будет предпринята попытка отослать письмо на локального пользователя root. В этом случае служба exim4 может использовать конфигурационный файл /etc/aliases для определения адреса отправки.

Файл /etc/aliases по умолчанию может иметь примерно следующий вид:

aliases
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: petya

То есть почта, адресованная mailer-daemon будет переназначать отправку почту на postmaster, postmaster в свою очередь на root, а root на локального пользователя petya.

Чтобы сделать так, чтобы вся почта, предназначенная локальному пользователю root перенаправлялась на внешний почтовый адрес администратора сервера, то можно привести файл к следующему виду:

aliases
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
# root: petya
root: DST-Monitoring@holding.ru

Для того, чтобы применить сделанные изменения выполним последовательно команды:

# newaliases
# systemctl restart exim4.service

Снова протестируем отправку почты с явным указанием внешнего почтового адреса:

# echo "test mail 1" | mail -s Test DST-Monitoring@holding.ru

Также протестируем отправку почты с указанием локального пользователя Linux:

# echo "test mail 2" | mail -s Test root

Дополнительные источники информации:

Руководство по установке Debian GNU/Linux 8 («jessie»). 8.5. Настройка почты


Автор первичной редакции:
Алексей Максимов
Время публикации: 27.02.2017 21:00

Обсуждение

Ваш комментарий:
 

unix-linux/debian/jessie/linux-how-to-setup-exim4-for-email-notifications-to-relayhost-in-debian-8-jessie.txt · Последнее изменение: 30.12.2021 09:52 — Алексей Максимов