Настройка Exim на FreeBSD: различия между версиями

Материал из Bas Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 94: Строка 94:


===== Запуск exim =====
===== Запуск exim =====
Данных изменений достаточно, чтобы запустить Exim и он мог получать и отправлять почту.<br>
Данных изменений достаточно, чтобы запустить Exim и он мог получать и отправлять почту:
Запускаем сервис:
<pre>
<pre>
service exim start
service exim start

Версия от 16:14, 1 июля 2023

Дано: FreeBSD 13, Exim 4. Задача: развернуть почтовый relay, с поддержкой шифрования.


Исторически во FreeBSD используется sendmail. Он отлично выполняет свои функции, но в современном мире сложен в настройке, т.к. конфиг представляет собой набор сложночитаемых макросов.

Установка exim

Воспользуемся пакетным менеджером:

pkg install exim

После установки будет показана страница с дальнейшими шагами, которые надо выполнить.
Если вы закрыли консоль, то найти эту информацию можно в файле /usr/local/share/doc/exim/POST-INSTALL-NOTES

mailer.conf

Необходимо поменять sendmail на exim в файле /etc/mail/mailer.conf.
Информацию для данного файла можно взять с оф. документации в пункте 20. Replacing another MTA with Exim:

sendmail	/usr/exim/bin/exim
send-mail	/usr/exim/bin/exim
mailq		/usr/exim/bin/exim -bp
newaliases	/usr/bin/true

Так же эту информацию можно взять из man 5 mailer.conf:

sendmail	/usr/local/sbin/exim
mailq		/usr/local/sbin/exim -bp
newaliases	/usr/bin/true
rmail		/usr/local/sbin/exim -i -oee

В результате я сделал общие изменения в таком виде:

sendmail	/usr/local/sbin/exim
send-mail	/usr/local/sbin/exim
mailq		/usr/local/sbin/exim -bp
newaliases	/usr/bin/true
rmail		/usr/local/sbin/exim -i -oee
Выключение sendmail

В /etc/rc.conf добавляем строку sendmail_enable="NONE"

Выключение заданий из расписания

Теперь нужно выключить скрипты, которые выполняются по расписанию.
Важно! По умолчанию файла /etc/periodic.conf в системе нет.
Создаём его и добавляем следующее содержимое (всё из той же информации после установки):

daily_clean_hoststat_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
daily_queuerun_enable="NO"
Включаем exim
echo 'exim_enable="YES"' > /etc/rc.conf.d/exim
Ротация логов

Создаём файл /etc/newsyslog.conf.d/exim.conf:

/var/log/exim/mainlog   mailnull:mail 640 7 * @T00 ZN
/var/log/exim/rejectlog mailnull:mail 640 7 * @T00 ZN
Настройка конфига

Открываем /usr/local/etc/exim/configure.
Для старта необходимо не так уж и много правок.

# primary_hostname = 

По умолчанию опция закомментирована и информация берется из системы, но я бы рекомендовал активировать эту опцию.
Указываем адрес сервера полностью, с доменом. Если сервер работает и на локальную сеть, и на интернет, то указываем существующий и доступный домен для интернета:

primary_hostname = mx1.gwtools.ru
domainlist local_domains = @
domainlist relay_to_domains =
hostlist   relay_from_hosts = localhost

Указываем адреса и домены с доступом к почте. Разделителем является двоеточие.
Список local_domains содержит список обслуживаемых этим сервером доменов.
Список relay_to_domains содержит список доменов, на которые можно отправлять почту без авторизации (проверка по получателю, например, на др. почтовый сервер).
Список relay_from_hosts содержит список адресов или доменов, с которых разрешён доступ на отправку почты через данный сервер (например, локальная сеть).

domainlist local_domains = gwtools.ru
domainlist relay_to_domains =
hostlist   relay_from_hosts = localhost : 192.168.0.0/24
Запуск exim

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

service exim start