Как настроить postfix для отбрасывания всей электронной почты в один домен и ретрансляции всей другой электронной почты?

9

Мне нужно настроить postfix в среде разработки / тестирования для фильтрации электронной почты, чтобы мы не спамили наших клиентов. В наших тестовых средах мы очищаем все наши пользовательские данные, чтобы адреса электронной почты были изменены на @localhost, хотя некоторые адреса могут позже быть изменены на действительные адреса электронной почты для целей тестирования. Мы пересылаем всю нашу электронную почту через стороннего поставщика для доставки, поэтому я хотел бы настроить postfix для:

  1. Выбросьте любую электронную почту, отправленную на localhost
  2. Перешлите всю оставшуюся электронную почту нашему стороннему провайдеру.

Будучи относительно новым для postfix, какой самый простой способ это настроить?

Брюс П
источник

Ответы:

8

Ну, мне, кажется, удалось выяснить это с помощью небольшого поиска и тестирования. Вот что я должен был сделать:

  • В /etc/postfix/main.cf:

    transport_maps = hash:/etc/postfix/transport
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = static:<relayhost username>:<relayhost password>
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = may
    start_tls = yes
    
  • В / etc / postfix / transport:

    localhost discard: 
    localhost.localdomain discard:
    * relay:[smtp.relayhost.com]:587
    

По-видимому, ретрансляция также обходит директиву alias_maps, поэтому для продолжения работы псевдонимов мне пришлось закомментировать и alias_maps, и alias_database и заменить их на virtual_alias_maps. Формат virutal_alias_map идентичен alias_maps, так что это было легко сделать.

После внесения этих изменений просто перезапустите postfix и также запустите "postmap / etc / postfix / transport", чтобы создать transport.db. Теперь все адреса, адресованные @localhost или @ localhost.localdomain, отбрасываются, а все остальное ретранслируется через указанный хост.

Брюс П
источник
1
Это не ответ на вопрос ОП, но в соответствующей заметке вот что я сделал, чтобы выбросить всю исходящую почту во временный клон окна продукта: 1. Открыть /etc/postfix/main.cf2. Добавить default_transport = discard:Outgoing email disabled on this node3. Перезапустить Postfix: service postfix restart* a reloadможет быть достаточно
Deoren