Документ создан: 20.11.2012

Пересылка сообщения через relay в отдельный домен.

Ситуация — почта должна ходить: локальным пользователям — не выходя в сеть, а в определённый домен — через relay. Например, почту для root не нужно отправлять через корпоративный почтовый сервер, а вот корпоративному пользователю нужно отправлять именно через него. Как решил проблему я:

  1. Изначально настроил postfix средствами "dpkg-reconfigure postfix" как "Только локально".
  2. Затем поправил "/etc/postfix/main.cf" путём добавления или изменения следующих строк:
    relay_domains = domain.ru
    relay_transport = hash:/etc/postfix/transport
    transport_maps = hash:/etc/postfix/transport

    Где:
    domain.ru — интересующий нас домен.

  3. Файл "/etc/postfix/transport" заполнил таким образом:
    domain.ru smtp:smtp_server.domain.ru

    Где:
    domain.ru — интересующий нас домен;
    smtp:smtp_server.domain.ru — транспорт и SMTP-сервер, через который будет производиться отправка писем в домен domain.ru.

  4. Не забыл выполнить "postmap":
    sudo postmap /etc/postfix/transport
  5. И перегрузил postfix:
    sudo postfix reload

Смотрим логи:

sudo tail -f /var/log/mail.log

и отправляем тестовые письма так:

echo Test | mailx -s Test root

и так

echo Test | mailx -s Test user@domain.ru

В логах должно быть видно, что почта для root идёт через "relay=local", а для user@domain.ru - через "relay=smtp_server.domain.ru[xxx.xxx.xxx.xxx]:25".

Всё.

 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Donate