Wie konfiguriere ich Postfix, um alle E-Mails an eine Domain zu werfen und alle anderen E-Mails weiterzuleiten?

9

Ich muss Postfix in einer Entwicklungs- / Testumgebung einrichten, um E-Mails zu filtern, damit wir unsere Kunden nicht spammen. In unseren Testumgebungen bereinigen wir alle Benutzerdaten, sodass E-Mail-Adressen in @localhost geändert werden. Einige Adressen werden jedoch möglicherweise zu Testzwecken zu einem späteren Zeitpunkt in gültige E-Mail-Adressen geändert. Wir leiten alle unsere E-Mails über einen Drittanbieter zur Zustellung weiter. Daher möchte ich Postfix einrichten, um:

  1. Werfen Sie alle an localhost gesendeten E-Mails aus
  2. Leiten Sie alle verbleibenden E-Mails an unseren Drittanbieter weiter.

Was wäre der einfachste Weg, dies einzurichten, da Postfix relativ neu ist?

Bruce P.
quelle

Antworten:

8

Nun, ich habe es anscheinend geschafft, dies mit ein bisschen Suchen und Testen herauszufinden. Folgendes musste ich tun:

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

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

Das Relaying umgeht anscheinend auch die Direktive alias_maps. Damit Aliase weiter funktionieren, musste ich sowohl alias_maps als auch alias_database auskommentieren und durch virtual_alias_maps ersetzen. Das Format der virutal_alias_map ist identisch mit alias_maps, daher war dies eine einfache Änderung.

Wenn diese Änderungen vorgenommen wurden, starten Sie einfach postfix neu und führen Sie "postmap / etc / postfix / transport" aus, um transport.db zu erstellen. Jetzt wird alles, was an @localhost oder @ localhost.localdomain adressiert ist, verworfen, während alles andere über den angegebenen Host weitergeleitet wird.

Bruce P.
quelle
1
Dies ist nicht die Antwort auf die Frage des OP, aber in einem ähnlichen Zusammenhang habe ich Folgendes getan, um alle ausgehenden E-Mails auf einem temporären Klon einer Produktbox wegzuwerfen: 1. Öffnen /etc/postfix/main.cf2. Hinzufügen default_transport = discard:Outgoing email disabled on this node3. Postfix neu starten: service postfix restart* a reloadkann ausreichen
deoren