===== Как настроить отсылку уведомлений на внешний почтовый сервер с помощью exim4 в Debian 8 (Jessie) =====
{{:unix-linux:debian:pasted:20170319-123914.png }} По умолчанию в **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 без локальной почты:
{{ :unix-linux:debian:pasted:20170227-213017.png }}
Поле **System mail name** очистим или оставим FQDN имя нашего сервера
{{ :unix-linux:debian:pasted:20170227-232011.png }}
Укажем интерфейс на котором exim4 будет повесит TCP-прослушиватель для приёма почты:
{{ :unix-linux:debian:pasted:20170227-214241.png }}
Домены, для которых почта будет считаться локальной указывать не будем, чтобы вся почта шла на smarthost
{{ :unix-linux:debian:pasted:20170227-232305.png }}
{{ :unix-linux:debian:pasted:20170227-215208.png }}
Укажем адрес внешнего почтового сервера (smarthost)
{{ :unix-linux:debian:pasted:20170227-215719.png }}
Не будем отказываться от активного использования DNS, так как предполагаем, что DNS-серверы у нас в сети работают исправно и доступны всегда.
{{ :unix-linux:debian:pasted:20170227-220130.png }}
Чтобы не усложнять, откажемся от дробления конфигурации на 50 разных файлов и будем использовать конфигурацию с единым файлом.
{{ :unix-linux:debian:pasted:20170227-220345.png }}
Утилита конфигурации завершит свою работу.
Если требуется более тонка настройка, то конфиги exim4 лежат в каталоге ''/etc/exim4/''
В частности, результаты работы **exim4-config** будут сброшены в ''/etc/exim4/update-exim4.conf.conf''
Проверяем статус службы:
# service exim4 status
---- ==== Тестируем отправку почты ==== Протестируем локальную отправку почты через exim4 на localhost:25 с помощью утилиты mail:● 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.
$ 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'' по умолчанию может иметь примерно следующий вид:
# 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
----
Дополнительные источники информации:
[[https://www.debian.org/releases/jessie/s390x/ch08s05.html.ru|Руководство по установке Debian GNU/Linux 8 («jessie»). 8.5. Настройка почты]]
----
{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 27.02.2017 21:00
{{tag>Linux Debian "Debian 8" "Debian Jessie" exim4 email smarthost relayhost telnet SMTP mutt mail}}
~~DISCUSSION~~