homelabuser
Goto Top

Postfix: envelope sender umschreiben

Hallo,

ich habe einen internen Postfix Server (Ubuntu 2004) aufgesetzt, der Mails via SMTP mit Login beim Hoster abliefert. Das funktioniert auch, Emails können lokal via mailx oder per smtp von anderen, internen Rechnern kommen und werden zugestellt, wenn die richtigen Absenderadressen verwendet werden.
Mein Hoster verlangt nun, dass die Mails mit meiner korrekten Domain angeliefert werden, was insbesondere bei den anderen Rechnern in meinem Netzwerk nicht immer der Fall ist.
Ich möchte es mir nun einfach machen, und den envelope_sender (und nur den!) auf local@mydomain.de setzen, sofern der nicht korrekt gesetzt ist.

/etc/postfix/main.cf:
sender_canonical_classes = envelope_sender
sender_canonical_maps = regexp:/etc/postfix/sender_canonical

/etc/postfix/sender_canonical
/(.*)@(.*)\.mydomain\.de/		$1+$2@mydomain.de
/(.*)@mydomain\.de/			$1@mydomain.de
/.*/				local@mydomain.de

Das funktioniert prima für Mails, die per smtp angeliefert werden, der From Header in der Mail bleibt unverändert.
Bei lokalen Mails wird allerdings das "From: " Feld im Header der Mail angepasst, obwohl doch nur der envelope_sender angepasst werden soll:

thomas@mail:~$ echo 'Testmail' | mailx -s 'Test' thomas  
In dem Fall sollte der "From: " Header "thomas@mail.mydomain.de" enthalten, tatsächlich kommt aber an: "From: Thomas <thomas+mail@mydomain.de> (Es greift also eine Ersetzungsregel)

Hat jemand eine Idee warum das so ist und wie ich für lokale Mails nur die Anpassung des envelope_sender erreichen kann?

Der Vollständigkeit halber noch die komplette main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job. 
append_dot_mydomain = no

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = mail.localdomain, localhost.localdomain, localhost
mynetworks = 127.0.0.0/8, 172.29.40.0/24
inet_interfaces = all
recipient_delimiter = +

compatibility_level = 2

myorigin = /etc/mailname
mailbox_size_limit = 0
inet_protocols = all

home_mailbox = Maildir/

# TLS Einstellungen fuer den smtpd
smtpd_tls_cert_file = /etc/ssl/server.pem
smtpd_tls_key_file = /etc/ssl/server.key
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous

# Settings for upstream relay
relayhost = [mail.hoster.de]:587

# enable SASL authentication
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
smtp_use_tls = yes
# where to find CA certificates
# smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

# Recipient address rewrite

recipient_canonical_classes = envelope_recipient
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical

sender_canonical_classes = envelope_sender
sender_canonical_maps = regexp:/etc/postfix/sender_canonical

Vielen Dank für Eure Hilfe!
Thomas

Content-Key: 610419

Url: https://administrator.de/contentid/610419

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: 117471
Lösung 117471 06.10.2020 um 22:56:46 Uhr
Goto Top
Mitglied: HomeLabUser
HomeLabUser 07.10.2020 um 16:21:10 Uhr
Goto Top
Hallo,

Danke! Aber das kenne ich bereits, von da hatte ich auch die Parameter.
Leider ist o.g. Verhalten für lokale Mails nicht beschrieben.

Gruß, Thomas
Mitglied: 117471
117471 07.10.2020 aktualisiert um 16:40:18 Uhr
Goto Top
Hallo,

anders herum wird ein Schuh draus: Dort sind alle Verfahren beschrieben, die Postfix unterstützt face-smile

Wobei ich es unüblich finde, nur im SMTP-Envelope herumzuschreiben und den Envelope und die From:-Zeile unterschiedlich zu halten. Selbst wenn dein ISP nur auf den Envelope guckt und die E-Mails dann annimmt: Mit solchen Spielereien landet man relativ häufig irgendwo im SPAM-Filter.

Wenn nicht bei deinem ISP, dann vielleicht bei einem seiner Dienstleister. Ich hatte mal einen ähnlichen Affentanz mit einem Anbieter, der Hornet Security dazwischenpuzzelt hat und das nicht zugeben wollte. Und *die* sind schlimmer als die Schufa, glaub's mir face-smile

Mit anderen Worten: Ich würde wirklich noch mal auf die Prozesse gucken.

Gruß,
Jörg
Mitglied: HomeLabUser
HomeLabUser 07.10.2020 um 16:55:37 Uhr
Goto Top
Hallo,

es handelt sich in dem Fall nur um interne Mails von irgendwelchen VM's, die keinesfalls nach draußen gehen sollen. Und mein Hoster hat keinen Spamfilter im internen Mailverkehr, zumindest kann ich die üblichen Header dafür nicht finden face-wink

Soweit ich das bisher sehen kann, wird die Mail nur mit der richtigen domain im envelope_sender angenommen und auch weitergeleitet, Mails von Subdomains oder anderen Domains nimmt er eben nicht an.
Ich würde nun gern den originalen Absender erhalten und somit nur den envelope_sender auf die richtige Domain setzen wollen. Das Verhalten
sollte
sender_canonical_classes = envelope_sender

erzeugen, was für via smtp angelieferte Mails auch funktioniert. Nur eben für lokale mails nicht, hier wird auch der From: Header umgeschrieben.

Und ich würde nun gern verstehen, warum das so ist und wie ich das auf das gewünschte Verhalten konfigurieren kann ...

Gruß, Thomas
Mitglied: mbehrens
mbehrens 07.10.2020 um 18:15:26 Uhr
Goto Top
Zitat von @HomeLabUser:

es handelt sich in dem Fall nur um interne Mails von irgendwelchen VM's, die keinesfalls nach draußen gehen sollen.

Warum dann überhaupt der Aufwand?
Mitglied: 117471
117471 07.10.2020 um 19:31:23 Uhr
Goto Top
Hallo,

Zitat von @HomeLabUser:

Hallo,

es handelt sich in dem Fall nur um interne Mails von irgendwelchen VM's, die keinesfalls nach draußen gehen sollen.

So weit, wie Du (wissenstechnisch) bist, würde ich irgendwo lokal einen IMAP-Server installieren und den konsequent nutzen.

Gruß,
Jörg
Mitglied: HomeLabUser
HomeLabUser 07.10.2020 um 21:57:30 Uhr
Goto Top
Zitat von @117471:
So weit, wie Du (wissenstechnisch) bist, würde ich irgendwo lokal einen IMAP-Server installieren und den konsequent nutzen.

Ich möchte halt gern wissen, wie es funktioniert und wie es richtig konfiguriert werden muss, um das gesetzte Ziel zu erreichen. Glücklicherweise habe ich ja eine Umgebung zum Spielen face-wink
Mitglied: HomeLabUser
HomeLabUser 07.10.2020 um 21:59:46 Uhr
Goto Top
Zitat von @mbehrens:
Warum dann überhaupt der Aufwand?

Weil es spannend ist und ich wissen will, wie es funktioniert, bzw. warum es nicht funktioniert wie erwartet face-wink
Mitglied: 117471
117471 07.10.2020 um 22:11:43 Uhr
Goto Top
Hallo,

Zitat von @HomeLabUser:

Weil es spannend ist und ich wissen will, wie es funktioniert, bzw. warum es nicht funktioniert wie erwartet face-wink

Woher hast Du die Information, dass so etwas überhaupt möglich ist?

Gruß,
Jörg
Mitglied: HomeLabUser
HomeLabUser 08.10.2020 um 08:04:56 Uhr
Goto Top
Weil Mails, die über den smtp eingeliefert wurden, korrekt umgeschrieben werden. Der From: Header bleibt erhalten, nur der envelope_sender wird angepasst.
Nur für lokal erzeugte Mails funktioniert es nicht, und ich verstehe nicht warum.