Sendmail – простая настройка
В базовую систему FreeBSD обязательно входит SMTP сервер sendmail. Самый старый некоммерческий почтовый сервер, имеющий довольно сомнительную репутацию, но тем не менее в большинстве систем он присутствует и установлен на огромном количестве серверов, обслуживающих почту. Хоть своей конфигурацией sendmail и отпугивает, уметь делать минимальные настройки надо.
Приступим к настройке:
Использовать его будем, как SMTP сервер отправляющий почту во вне сети и принимающий почту для домена hilik.org.ua.
1. Настроим сеть, от адресов которой, можно отправлять почту. В настройках по умолчанию sendmail позволяет отправлять почту от локальных адресов(127.0.0.1), разрешим пересылать почту от сети 192.168.0.0/24. Для этого в файле /etc/access пропишем нашу сеть, выглядит это так:
192.168 RELAY
и затем выполнить команду make в каталоге /etc/mail/
Настройка отправки закончена.
2. Укажем домен для которого мы будем принимать почту, сделать это можно двумя способами.
Первый, указать в файле local-host-names и перезапустить sendmail:
hilik.org.ua
и второй, указать в /etc/mail/access и в /etc/mail/mailertable, действий понадобится больше, но не надо рестартовать sendmail. Это несомненный плюс. Впишем в /etc/mail/access такую строку:
To:hilik.org.ua RELAY
и в файлу /etc/mail/mailertable:
hilik.org.ua local:
и затем выполнить команду make в каталоге /etc/mail/
Настройка приема для домена закончена.
3. Укажем адрес получателя, который будет получать почту roota и postmasterа, для этого пропишем в /etc/mail/aliases такую вещь:
root: hilik@hilik.org.ua
и выполнить команду make или newaliases.
4. Настройка приема и отправки закончена, но необходимо установить минимальную антивирусную защиту. Для этого воспользуемся бесплатным антивирусом ClamAv. Все внешние программы такого рода подключаются к sendmail, через специальный интерфейс Milter, поэтому любая программа, предназначенная для связи с sendmail, должна поддерживать этот интерфейс.
Когда вы устанавливаете clamav из портов, а находится он в /usr/ports/security/clamav/, необходимо в диалоге настройки сборки, обязательно указать:
[X] MILTER Compile the milter interface
После установки, необходимо запустить 3 демона: сам clamav, clamav-freshclam, утилита для обновление вирусных баз и clamav-milter – интерфейс взаимодействия с sendmail.
Прежде чем запускать, надо настроить sendmail. Файл настроек sendmail /etc/mail/sendmail.cf имеет довольно своеобразный синтаксис, по сути он представляет из себя программу, в которой описаны действия с письмом, поэтому что бы настройки мог менять рядовой администратор, был написан врапер m4 для файла настроек. То есть с помощью макропроцессора m4 будет генерироваться файл настроек sendmail. При установке FreeBSD, в /etc/mail устанавливаются файлы <имя хоста>.mc и <имя хоста>.submit.mc, у меня это hilik.org.ua и hilik.org.ua.submit.mc. Это и сеть макросы на основе которых будет генерироваться файл настроек. Два файла настроек существуют потому, что во FreeBSD sendmail разделен на 2 процесса, один отвечает за прием и отправку почты во вне и из вне, а второй предназначен для приема отправки почты локально.
В нашем случае мне необходимо исправить файл hilik.org.ua.mc. необходимо добавить такие строки:
INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m;C:30s;E:10m')dnl define(`confINPUT_MAIL_FILTERS', `clamav')
Теперь надо выполнить make, макропроцессор m4 создаст файл hilik.org.ua.cf и поле этого нужно выполнить make install, hilik.org.ua.cf будет переименован в sendmail.cf.
Теперь надо запустить clamav. Настроек никаких делать не надо, пропишем в rc.conf:
clamav_clamd_enable="YES" clamav_freshclam_enable="YES" clamav_milter_enable="YES"
и запустим:
/usr/local/etc/rc.d/clamav-freshclam start /usr/local/etc/rc.d/clamav-clamd start /usr/local/etc/rc.d/clamav-milter start
Теперь можно перезапустить sendmail:
/etc/rc.d/sendmail restart
На этом настройка sendmail закончена.
http://www.hilik.org.ua/настройка-sendmail/
Обновлено: 12.03.2015