Настройка Exim на FreeBSD
Дано: 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