Отправка писем средствами Postfix с разных доменов от разных IP-адресов

Обновлено и опубликовано Опубликовано:

Предположим, что у нас есть два домена dmosk.ru и test.dmosk.ru и почтовый сервер, с которого идет отправка писем для этих доменов. Также на сервере есть два IP-адреса:

  • 1.2.3.4
  • 5.6.7.8

Нам нужно сделать так, чтобы:

  1. Домен dmosk.ru отправлял письма с адреса 1.2.3.4.
  2. Домен test.dmosk.ru отправлял письма с адреса 5.6.7.8.

Это делается в несколько простых этапов.

Теория

В конфигурационном файле master.cf предусмотрена опция smtp_bind_address, с помощью которой можно указать, к какому адресу будет привязана очередь обработки письма.

Таким образом нам нужно просто настроить правило для исходящих писем, которое в зависимости от отправителя будет посылать письма через определенную очередь в master.cf.

Настройка Postfix

Отредактируем основной конфигурационный файл postfix:

vi /etc/postfix/main.cf

Нам нужно добавить или отредактировать опцию sender_dependent_default_transport_maps:

sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport

* в данном примере мы указываем, что правила для отправки находится в карте /etc/postfix/sender_transport.

Создадим файл с самой картой:

vi /etc/postfix/sender_transport

@dmosk.ru         dmosk_smtp:
@test.dmosk.ru    test_smtp:

* в данном примере мы будем отправлять письма от разных доменов, каждый через свою очередь. Сами очереди мы создадим в файле master.cf.

И создадим саму карту:

postmap /etc/postfix/sender_transport

Теперь отредактируем файл master.cf:

vi /etc/postfix/master.cf

В самый низ добавим:

dmosk_smtp     unix  -       -       n       -       -       smtp
    -o smtp_bind_address=1.2.3.4

test_smtp      unix  -       -       n       -       -       smtp
    -o smtp_bind_address=5.6.7.8

* мы создали две очереди в соответствии с правилами отправки. Для каждой очереди есть только одно правило smtp_bind_address, которое обязывает делать отправку через определенный IP-адрес.

Применяем настройки:

systemctl restart postfix

Готово.

# Linux # Почта # Серверы # Сети
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет