Конфигурация по умолчанию указывает на то, что Postfix должен обрабатывать почту из того домена, которому принадлежит сам сервер, и от компьютеров, непосредственно связанных с сервером, посредством сетевых интерфейсов. В большинстве случаев такая конфигурация вполне приемлема, но иногда приходится изменять ее. Чтобы сделать это, вам надо изменить значение $mynetworks
$relay_domains
(либо модифицировать обе переменные). Предположим, например, что Postfix должен обслуживать рабочую станцию work.threeroomco.com
. Для этого вам надо переопределить значения переменных следующим образом:mynetworks = 127.0.0.0/8
relay_domains = work.threeroomco.com
Возможно, вам потребуется расширить набор компьютеров, обслуживаемых сервером. В этом случае значения переменных могут выглядеть так:
mynetworks = 192.168.99.0/24, 172.24.0.0/16, 127.0.0.0/8
relay_domains = $raydestination, pangaea.edu
Данные опции сообщают о том, что письма должны приниматься из сетей 192.168.99.0/24, 172.24.0.0/16 и localhost
$mydestination
и pangaea.edu
.Для управления действием mynetworks
relay_domains
и некоторых других опций может использоваться опция smtpd_sender_restrictions
. По умолчанию эта опция отсутствует в main.cf
, но при необходимости вы можете включить ее в состав конфигурационного файла. Значение permit_mx_backup
данной опции соответствует опции relay_based_on_MX
сервера sendmail
. Подробные сведения о smtpd_sender_restrictions
вы найдете в документации на сервер Postfix.В простейшем случае, чтобы сконфигурировать Postfix для передачи почты посредством другого сервера, достаточно установить значение опции relayhost
main.cf
, указывает на компьютер, выполняющий функции ретранслятора. Если в конфигурационном файле сервера имен, управляющего доменом, присутствует запись MX
, указывающая на сервер-ретранслятор, то в качестве значения опции relayhost
можно задать имя этого домена. Например, если в роли ретранслятора выступает сервер, расположенный на компьютере franklin.threeroomco.com
, в файл main.cf
необходимо включить следующую запись:relayhost = franklin.threeroomco.com
Если ваш сервер находится в том же домене, что и сервер-ретранслятор, и если на ретранслятор, указывает запись MX
franklin.threeroomco.com
вы можете использовать переменную $mydomain
. Такой подход предпочтительнее тем, что переносе почтового сервера, обслуживающего домен, на другой компьютер перенастраивать Postfix не приходится.В обычных условиях при передаче почты Postfix обращается к серверу DNS. Если же сервер имен в вашей сети отсутствует (например, если преобразование имен осуществляется с помощью файлов /etc/hosts
disable_dns_lookups = yes
Эта опция указывает серверу Postfix на то, что он не должен обращаться к серверу DNS для преобразования имен. В этом случае Postfix определяет адрес ретранслятора с помощью записи в файле /etc/hosts
Настройка Postfix для противодействия распространению спама
Подобно sendmail
Инструменты для сравнения с шаблонами, предоставляемые сервером Postfix, достаточно сложны, в частности, они позволяют использовать для анализа содержимого заголовков регулярные выражения. Регулярные выражения часто указываются в отдельном файле, но при желании вы можете задавать их непосредственно в конфигурационном файле main.cf
header_checks = regexp:/etc/postfix/bad_headers
В файле bad_headers
POSIX (regeхр: описание
), либо в стиле PCRE (pcre: описание
).Листинг 19.2
. Файл с регулярными выражениями Postfix, используемыми для фильтрации спама