Конфигурация Postfix для ретрансляции писем

We use cookies. Read the Privacy and Cookie Policy

Конфигурация Postfix для ретрансляции писем

Подобно большинству почтовых серверов, Postfix поддерживает опции, предназначенные для управления ретрансляцией писем. Эти опции, расположенные в файле позволяют настроить сервер как для работы в режиме ретрансляции, так и для использования в качестве ретранслятора другого сервера.

Настройка Postfix для работы в режиме ретранслятора

По умолчанию Postfix передает письма, которые удовлетворяют следующим критериям.

• Отправитель находится в одной из сетей, указанных с помощью переменной $mynetworks. По умолчанию в качестве значения этой переменной заданы адреса сетей, которым принадлежат все сетевые интерфейсы компьютера, в том числе интерфейс localhost.

• Отправитель принадлежит домену, указанному в переменной $relay_domains. По умолчанию значение данной переменной равно значению переменной $mydestination.

• Отправитель пытается передать письмо на компьютер, принадлежащий одному из доменов, указанных в переменной $relay_domains, или их поддоменов.

Конфигурация по умолчанию указывает на то, что 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 (127.0.0.0/8), а также с компьютеров, принадлежащих доменам $mydestination и pangaea.edu.

Для управления действием mynetworks, relay_domains и некоторых других опций может использоваться опция smtpd_sender_restrictions. По умолчанию эта опция отсутствует в main.cf, но при необходимости вы можете включить ее в состав конфигурационного файла. Значение permit_mx_backup данной опции соответствует опции relay_based_on_MX сервера sendmail. Подробные сведения о smtpd_sender_restrictions вы найдете в документации на сервер Postfix.

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