25.4. Установка другой почтовой программы
Пред. | Глава 25. Электронная почта | След.

## 25.4. Установка другой почтовой программы

Написал Andrew Boothman.
Информация получена из писем, написанных Gregory Neil Shapiro.

Как уже упоминалось, FreeBSD поставляется с MTA (Mail Transfer Agent) sendmail. Следовательно, по умолчанию именно эта программа отвечает за вашу исходящую и входящую почту.

Однако, по различным причинам некоторые системные администраторы заменяют системный MTA. Эти причины варьируются от простого желания попробовать другой MTA до потребности в определенных возможностях пакета, основанного на другой почтовой программе. К счастью, вне зависимости от причины, в FreeBSD такая замена выполняется просто.

### 25.4.1. Установка нового MTA

Вам предоставлен широкий выбор MTA. Начните с поиска в Коллекции Портов FreeBSD, где их немало. Конечно, вы можете использовать любой MTA по желанию, взятый откуда угодно, если только сможете запустить его под FreeBSD.

Начните с установки нового MTA. После установки у вас будет возможность решить, действительно ли он подходит вашем нуждам, а также настроить новое программное обеспечение перед тем, как заменить им sendmail. При установке новой программы убедитесь, что она не пытается перезаписать системные файлы, такие как `/usr/bin/sendmail`. Иначе ваша новая почтовая программа фактически начнет работать до того, как вы ее настроите.

Обратитесь к документации на выбранный MTA за информацией по его настройке.

### 25.4.2. Отключение sendmail

### Предупреждение:

Если вы отключите сервис исходящей почты sendmail, необходимо заменить его альтернативной системой доставки почты. Если вы не сделаете этого, системные программы, такие как periodic(8), не смогут отправлять сообщения по электронной почте как обычно. Многие программы в вашей системе могут требовать наличия функционирующей sendmail-совместимой системы. Если приложения будут продолжать использовать программу sendmail для отправки почты после того, как вы её отключили, почта может попасть в неактивную очередь sendmail и никогда не будет доставлена.

Для полного отключения sendmail, включая сервис исходящей почты, используйте

sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"

в `/etc/rc.conf`.

Если вы хотите отключить только сервис входящей почты sendmail, установите

sendmail_enable="NO"

в `/etc/rc.conf`. Дополнительная информация о параметрах запуска sendmail доступна на странице справочника rc.sendmail(8).

### 25.4.3. Запуск нового MTA при загрузке

Новый МТА можно запускать автоматически при загрузке системы добавив соответствующую строку в `/etc/rc.conf`. Ниже приведен пример для postfix:

`#` echo '`postfix`_enable=«YES»' >> /etc/rc.conf

С этого момента МТА будет запускаться автоматически во время загрузки системы.

### 25.4.4. Замещение sendmail как почтовой программы по умолчанию

Программа sendmail настолько распространена в качестве стандартной программы для систем UNIX®, что многие программы считают, что она уже установлена и настроена. По этой причине многие альтернативные MTA предоставляют собственные совместимые реализации интерфейса командной строки sendmail; это облегчает их использование в качестве «прозрачной» замены sendmail.

Поэтому если вы используете альтернативную почтовую программу, потребуется убедиться, что когда программное обеспечение пытается выполнить стандартные исполняемые файлы sendmail, такие как `/usr/bin/sendmail`, на самом деле выполняются программы вновь установленной почтовой системы. К счастью, FreeBSD предоставляет систему, называемую mailwrapper(8), которая выполняет эту работу за вас.

Когда установлен sendmail, файл `/etc/mail/mailer.conf` выглядит примерно так:

sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail

Это означает, что когда выполняется какая-то из этих стандартных программ (например сам `sendmail`), система на самом деле вызывает копию mailwrapper, называемую `sendmail`, которая обращается к `mailer.conf` и выполняет вместо этого `/usr/libexec/sendmail/sendmail`. Такая схема делает простой замену программ, которые на самом деле выполняются, когда вызываются стандартные функции `sendmail`.

Поэтому если вы хотите выполнять `/usr/local/supermailer/bin/sendmail-compat` вместо sendmail, отредактируйте `/etc/mail/mailer.conf` так:

sendmail /usr/local/supermailer/bin/sendmail-compat send-mail /usr/local/supermailer/bin/sendmail-compat mailq /usr/local/supermailer/bin/mailq-compat newaliases /usr/local/supermailer/bin/newaliases-compat hoststat /usr/local/supermailer/bin/hoststat-compat purgestat /usr/local/supermailer/bin/purgestat-compat

### 25.4.5. Запуск новой почтовой программы

Как только вы все настроили, потребуется или уничтожить процесс sendmail, который уже не нужен и запустить новую почтовую программу, или просто перегрузить систему. Перезагрузка также даст вам возможность проверить, правильно ли настроена система для автоматического запуска MTA при загрузке.

Пред. | Наверх | След.
25.3. Настройка sendmail | Начало | 25.5. Поиск и устранение неисправностей

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.