Дек 02 2008

Настройка 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.

3. Настройка приема и отправки закончена, но необходимо установить минимальную антивирусную защиту. Для этого воспользуемся бесплатным антивирусом 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 закончена.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
  • By Роман, 23.10.2009 @ 07:32

    Ув. HILIK у меня квам вопрос вот после переноса сайта во фрю,
    в файле configuration.php какую указывать директорию для sendmaila,
    я новичок, поэтому необессудьте, что это спрашиваю.
    P.S. спс заранее за ответ, хотя это некоторых раздажает, мол обязывает к ответу, буду благодарен за ответ.

  • By hilik, 24.10.2009 @ 14:39

    Путь во фре стандартный /usr/sbin/sendmail

Other Links to this Post


Украинская Баннерная Сеть