Vollständige Änderung des Empfängers bei Postfix

Vollständige Änderung des Empfängers bei Postfix

Ich möchte erreichen, dass alle an eingehenden E-Mails [email protected]umgeschrieben [email protected]und an zugestellt werden [email protected].

Beide canonical_mapsund virtual_alias_mapsarbeiten für die Zustellung an den alternativen Empfänger. Als ich das lasDokumentes sagt mir, dass mit dem canonical_mapseine cleanupvollständige Neuschreibung erfolgt.

In der Praxis weist die E-Mail jedoch immer noch die Adresse todes ursprünglichen Empfängers auf. Wenn Sie sich also die E-Mail in Bobs Postfach ansehen, wird eine E-Mail an Joe angezeigt.

Irgendwie habe ich das Gefühl, dass mir hier etwas fehlt.

Aufbau:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 2d
canonical_maps = hash:/etc/postfix/canonical
config_directory = /etc/postfix
header_checks = pcre:/etc/postfix/header_checks
home_mailbox = Maildir/
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
mailbox_size_limit = 0
maximal_queue_lifetime = 4d
milter_default_action = accept
milter_protocol = 2
mydestination = ...
myhostname = ...
mynetworks = ...
myorigin = /etc/mailname
non_smtpd_milters = inet:localhost:8891
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost =
smtp_fallback_relay = ...
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_milters = inet:localhost:8891
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access        permit_mynetworks       reject_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport
virtual_alias_maps = hash:/etc/postfix/virtual

Protokolle:

Sep 25 09:40:30 server1 postfix/smtpd[28285]: connect from mail-la0-f66.google.com[209.85.215.66]
Sep 25 09:40:31 server1 postfix/smtpd[28285]: 7CA784EDB6: client=mail-la0-f66.google.com[209.85.215.66]
Sep 25 09:40:31 server1 postfix/cleanup[28339]: 7CA784EDB6: message-id=<CAJjncucnGM532xhcn37VAwmwQoYEwOUfE_A33-oyJJH5PqPUcA@mail.gmail.com>
Sep 25 09:40:31 server1 postfix/qmgr[7593]: 7CA784EDB6: from=<[email protected]>, size=1813, nrcpt=1 (queue active)
Sep 25 09:40:32 server1 postfix/smtpd[28285]: disconnect from mail-la0-f66.google.com[209.85.215.66]
Sep 25 09:40:32 server1 postfix/smtp[28593]: 7CA784EDB6: enabling PIX workarounds: disable_esmtp delay_dotcrlf for ...[...]]:25
Sep 25 09:40:33 server1 postfix/smtp[28593]: 7CA784EDB6: to=<[email protected]>, orig_to=<[email protected]>, relay=...[...]:25, delay=1.6, delays=0.45/0/0.42/0.73, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 98F729600E)
Sep 25 09:40:33 server1 postfix/qmgr[7593]: 7CA784EDB6: removed

Antwort1

Aus dem Mail.log geht hervor, dass Sie die E-Mail vom Remote-Client neu schreiben möchten. Die Standardeinstellung von Postfix Rewrite verhindert dies.

Ausschnitt ausREADME zum Neuschreiben von Postfix

Postfix Version 2.2 bietet Ihnen die Möglichkeit, Nachrichtenkopfzeilen von Remote-SMTP-Clients entweder überhaupt nicht umzuschreiben oder unvollständige Adressen in solchen Nachrichtenkopfzeilen als ungültig zu kennzeichnen. Und so funktioniert es:

  • Postfix schreibt Nachrichtenkopfzeilen von lokalen SMTP-Clients und vom Postfix-Befehl sendmail immer neu und hängt seine eigene Domäne an unvollständige Adressen an. Der local_header_rewrite_clientsParameter steuert, welche SMTP-Clients Postfix als lokal betrachtet (standardmäßig nur lokale Netzwerkschnittstellenadressen).

  • Postfix schreibt Nachrichtenkopfzeilenadressen von Remote-SMTP-Clients niemals neu, wenn der remote_header_rewrite_domainParameterwert leer ist (Standardeinstellung).

  • Andernfalls schreibt Postfix Nachrichtenkopfzeilen von Remote-SMTP-Clients neu und hängt den remote_header_rewrite_domainWert an unvollständige Adressen an. Diese Funktion kann verwendet werden, um eine reservierte Domäne wie „domain.invalid“ anzuhängen, sodass unvollständige Adressen nicht mit lokalen Adressen verwechselt werden können.

Die einfachste Lösung besteht also darin, den Parameter nicht remote_header_rewrite_domainmit einem leeren Wert zu belassen. Sie müssen diesem Parameter einen Wert wie folgt zuweisen:

remote_header_rewrite_domain = domain.invalid

static:allOder Sie können den Parameter verwenden local_header_rewrite_clients, sodass Postfix alle Remoteclients als lokal betrachtet.

local_header_rewrite_clients = static:all

Quelle:Offizielle Dokumente zur Postfix-Adressumschreibung

verwandte Informationen