Jak skonfigurować Postfiksa, aby wyrzucał wszystkie wiadomości e-mail do jednej domeny i przekazywał wszystkie pozostałe wiadomości e-mail?

9

Muszę skonfigurować Postfix w środowisku programistycznym / testowym, aby filtrować wiadomości e-mail, aby nie spamować naszych klientów. W naszych środowiskach testowych przeszukujemy wszystkie nasze dane użytkownika, aby adresy e-mail zostały zmienione na @localhost, chociaż niektóre adresy mogą zostać zmienione na prawidłowe adresy e-mail w późniejszym czasie do celów testowych. Przekazujemy cały nasz e-mail za pośrednictwem zewnętrznego dostawcy w celu dostarczenia, więc chciałbym skonfigurować postfiks do:

  1. Wyrzuć wszystkie wiadomości e-mail wysłane do hosta lokalnego
  2. Przekaż całą pozostałą wiadomość e-mail do naszego zewnętrznego dostawcy.

Będąc stosunkowo nowym postfixem, jaki byłby najłatwiejszy sposób na skonfigurowanie tego?

Bruce P.
źródło

Odpowiedzi:

8

Wydaje mi się, że udało mi się to rozgryźć przy odrobinie wyszukiwania i testowania. Oto, co musiałem zrobić:

  • W /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
    
  • W / etc / postfix / transport:

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

Przekazywanie najwyraźniej również omija dyrektywę alias_maps, więc aby aliasy mogły dalej działać, musiałem skomentować zarówno alias_maps, jak i alias_database, i zastąpić je wirtualnymi_alias_maps. Format virutal_alias_map jest identyczny z alias_maps, więc dokonanie tej zmiany było łatwe.

Po wprowadzeniu tych zmian po prostu zrestartuj postfix i uruchom „postmap / etc / postfix / transport”, aby zbudować transport.db. Teraz wszystko adresowane do @localhost lub @ localhost.localdomain jest odrzucane, podczas gdy wszystko inne jest przekazywane przez określony host.

Bruce P.
źródło
1
To nie jest odpowiedź na pytanie PO, ale w powiązanej notatce, oto co zrobiłem, aby wyrzucić całą wychodzącą pocztę na tymczasowym klonie skrzynki produkcyjnej: 1. Otwórz /etc/postfix/main.cf2. Dodaj default_transport = discard:Outgoing email disabled on this node3. Uruchom ponownie Postfiks: service postfix restart* a reloadmoże wystarczyć
deoren