PMG Postfix Header Modifizierung

BrunoH

New Member
Jan 9, 2023
11
2
3
Hallo kann mir das wer bitte weiterhelfen,

ich habe die main.cf.in nach /etc/pmg/templates kopiert und um folgenden Eintrag am Ende erweitert:
smtp_header_checks = pcre:/etc/pmg/smtp_header_checks

apt install postfix-pcre
habe ich auch installiert

Die Datei /etc/pmg/smtp_header_checks nun erstellt un diverese Einstellungen getestet, aber leider habe ich damit keinen Erfolg:

Danch immer neu gestartet
pmgconfig sync --restart 1

Hier was ich schon z.B. versucht habe:
/^\s*X-MS-Exchange/ IGNORE
/^From:s+MAILER-DAEMON@server.example.com/ REPLACE From: "Mailer-Daemon at server.example.com" <MAILER-DAEMON@server.example.com>
/^\s*X-MS-Exchange-Organization-AuthAs: Anonymous/ IGNORE
/^Received:s+.*/ IGNORE

Danke im Vorraus
Bruno

PS: Sorry, Ziel ist es aus dem Header diverse "Received: from" Zeilen zu löschen
 
Last edited:
was genau funktioniert denn nich? was sagt denn das journal? (journalctl -b)

habs hier mal kurz getestet und es funktioniert
(nur ähnliche regeln, nicht die gleichen)
 
Hallo,

danke für die Antwort.

Ich hoffe das passt so:

Apr 14 11:23:41 mail postfix/smtpd[880]: connect from SRVEX2019.x.local[x.x.x.28] Apr 14 11:23:42 mail postfix/smtpd[880]: Anonymous TLS connection established from srvex2019.x.local[x.x.x.28]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) Apr 14 11:23:42 mail postfix/smtpd[880]: 07C502422E5: client=SRVEX2019.x.local[x.x.x.28] Apr 14 11:23:42 mail postfix/cleanup[884]: 07C502422E5: message-id=<5c032369ca5648bd9efcce99c952bba0@x.at> Apr 14 11:23:42 mail postfix/qmgr[820]: 07C502422E5: from=<bruno@x.at>, size=3282, nrcpt=1 (queue active) Apr 14 11:23:42 mail postfix/smtpd[880]: disconnect from SRVEX2019.x.local[x.x.x.28] ehlo=2 starttls=1 mail=1 rcpt=1 bdat=1 quit=1 commands=7 Apr 14 11:23:42 mail pmg-smtp-filter[873]: 2023/04/14-11:23:42 CONNECT TCP Peer: "[127.0.0.1]:59574" Local: "[127.0.0.1]:10023" Apr 14 11:23:42 mail pmg-smtp-filter[873]: 2427F464391B9E36B0C: new mail message-id=<5c032369ca5648bd9efcce99c952bba0@x.at> Apr 14 11:23:42 mail postfix/smtpd[888]: connect from localhost.localdomain[127.0.0.1] Apr 14 11:23:42 mail postfix/smtpd[888]: 411C52432E9: client=localhost.localdomain[127.0.0.1], orig_client=SRVEX2019.x.local[x.x.x.28] Apr 14 11:23:42 mail postfix/cleanup[884]: 411C52432E9: message-id=<5c032369ca5648bd9efcce99c952bba0@x.at> Apr 14 11:23:42 mail postfix/qmgr[820]: 411C52432E9: from=<bruno@x.at>, size=3474, nrcpt=1 (queue active) Apr 14 11:23:42 mail pmg-smtp-filter[873]: 2427F464391B9E36B0C: bcc to <dsgvo@x.at> (rule: DSGVO, 411C52432E9) Apr 14 11:23:42 mail postfix/smtpd[888]: disconnect from localhost.localdomain[127.0.0.1] ehlo=1 xforward=1 mail=1 rcpt=1 data=1 commands=5 Apr 14 11:23:42 mail postfix/smtpd[888]: connect from localhost.localdomain[127.0.0.1] Apr 14 11:23:42 mail postfix/smtpd[888]: 568CE2432FF: client=localhost.localdomain[127.0.0.1], orig_client=SRVEX2019.x.local[x.x.x.28] Apr 14 11:23:42 mail postfix/cleanup[884]: 568CE2432FF: message-id=<5c032369ca5648bd9efcce99c952bba0@x.at> Apr 14 11:23:42 mail pmg-smtp-filter[873]: 2427F464391B9E36B0C: accept mail to <bx@x.at> (568CE2432FF) (rule: default-accept) Apr 14 11:23:42 mail postfix/qmgr[820]: 568CE2432FF: from=<bruno@x.at>, size=3478, nrcpt=1 (queue active) Apr 14 11:23:42 mail postfix/smtpd[888]: disconnect from localhost.localdomain[127.0.0.1] ehlo=1 xforward=1 mail=1 rcpt=1 data=1 commands=5 Apr 14 11:23:42 mail postfix/smtp[889]: Trusted TLS connection established to outlook.x.at[x.x.x.28]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) Apr 14 11:23:42 mail postfix/smtp[889]: 411C52432E9: to=<dsgvo@x.at>, relay=outlook.x.at[x.x.x.28]:25, delay=0.35, delays=0.08/0.04/0.1/0.13, dsn=2.6.0, status=sent (250 2.6.0 <5c032369ca5648bd9efcce99c952bba0@x.at> Apr 14 11:23:42 mail postfix/qmgr[820]: 411C52432E9: removed Apr 14 11:23:42 mail pmg-smtp-filter[873]: 2427F464391B9E36B0C: processing time: 0.213 seconds (0, 0.01, 0) Apr 14 11:23:42 mail postfix/lmtp[885]: 07C502422E5: to=<bx@x.at>, relay=127.0.0.1[127.0.0.1]:10023, delay=0.61, delays=0.08/0.07/0.05/0.41, dsn=2.5.0, status=sent (250 2.5.0 OK (2427F464391B9E36B0C)) Apr 14 11:23:42 mail postfix/qmgr[820]: 07C502422E5: removed Apr 14 11:23:42 mail postfix/smtp[891]: Trusted TLS connection established to mail.x.at[x.x.x.70]:25: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-> Apr 14 11:23:42 mail postfix/smtp[891]: 568CE2432FF: to=<bx@x.at>, relay=mail.x.at[x.x.x.70]:25, delay=0.61, delays=0.08/0.05/0.44/0.04, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as E548080ED2) Apr 14 11:23:42 mail postfix/qmgr[820]: 568CE2432FF: removed
 
mhmmm da fehlen die meldungen wie diese:

Code:
Apr 14 09:03:32 <HOSTNAME> postfix/smtp[1234]: <ID>: replace: header

sicher dass die regexes stimmen, zb

/^Received:s+.*/ IGNORE
sieht falsch aus, es ist wahrscheinlich
Code:
/^Received:\s+.*/ IGNORE

gemeint, oder besser noch
Code:
/^Received:\s/ IGNORE
?
 
Hallo Danke noch mal für die Antworten,
bin schön langsam am verzweifeln.

Wenn ich
postconf -d
mache ist
smtp_generic_maps =
smtp_header_checks =
smtp_helo_name = $myhostname
ist smtp_header_checks = leer

wenn ich
postconf smtp_header_checks
smtp_header_checks = pcre:/etc/pmg/smtp_header_checks.pcre

dürfte aber so passen, wenn ich falschen datei eintrag mache wird dies beim start gemeldet,
und da es für eingehende Mails geht

Habe aber jetzt was gefunden:
Es wird alles für die eingehenden Mails gemacht.

Folgender Eintrag wird eingesetzt beim empfangen!
/^From:/ PREPEND X-SMTPIN: TESTEN
Die gehen nicht ?
/^Received:.*/ IGNORE (Sollte passen oder)

Aber wie kann ich das beim versenden Nutzen?

Danke
Bruno
 
Last edited:
Kann es damit zusammenhängen,

ich habe Port 25 für Empfangen (vom Internet nach intern - Filter IN)
ich habe Port 26 für Senden (von intern ins Internet - Filter OUT)

in der main.cf.in steht
smtp_header_checks = pcre:/etc/pmg/smtp_header_checks.pcre

Der Eintrag geht ja auf smtp_header_checks ist das eventuell nur für Port 25?

In der
master.cf.in
steht

Code:
[% pmg.mail.int_port %]       inet  n -       -       -       [% pmg.mail.max_smtpd_out %]      smtpd
[% IF pmg.mail.before_queue_filtering -%]
  -o smtpd_proxy_filter=127.0.0.1:10023
  -o smtpd_proxy_options=speed_adjust
  -o smtpd_client_connection_count_limit=[% pmg.mail.conn_count_limit div 5 %]
[%- ELSE -%]
  -o content_filter=scan:127.0.0.1:10023
[%- END %]
  -o smtpd_recipient_restrictions=permit_mynetworks,reject_unauth_destination
  -o smtpd_helo_restrictions=
  -o smtpd_client_restrictions=
  -o smtpd_sender_restrictions=

smtpd       pass  - -       -       -       [% pmg.mail.max_smtpd_in %]      smtpd
[% IF pmg.mail.before_queue_filtering -%]
  -o smtpd_proxy_filter=127.0.0.1:10024
  -o smtpd_proxy_options=speed_adjust
  -o smtpd_client_connection_count_limit=[% pmg.mail.conn_count_limit div 5 %]
[%- ELSE -%]
  -o content_filter=scan:127.0.0.1:10024
[%- END %]
  -o receive_override_options=no_address_mappings
  -o smtpd_discard_ehlo_keywords=silent-discard,dsn
  -o mynetworks=127.0.0.0/8,[% postfix.int_ip %]

127.0.0.1:10025 inet  n       -       n       -       -      smtpd
  -o content_filter=
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
  -o smtpd_helo_restrictions=
  -o smtpd_client_restrictions=
  -o smtpd_restriction_classes=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks=127.0.0.0/8
  -o smtpd_error_sleep_time=0
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o smtpd_tls_security_level=none
  -o smtpd_authorized_xforward_hosts=127.0.0.0/8
  -o message_size_limit=[% (pmg.mail.maxsize*2) %]

Was ist da bitte für was?
# service type private unpriv chroot wakeup maxproc command + args
[% pmg.mail.int_port %] inet n - - - [% pmg.mail.max_smtpd_out %] smtpd
.....
smtpd pass - - - - [% pmg.mail.max_smtpd_in %] smtpd
.....
127.0.0.1:10025 inet n - n - - smtpd
.....

Dann müsste die erste Zeile für OUT (% pmg.mail.int_port % sollte 26 sein oder) sein
Die zweite bei mir für IN SMTP (Port 25)
Die dritte für das Filtern (das auch laut anderen Mails hardcoded ist)
oder?


Und wie kann ich das auf den Eintrag in der main.cf.in zuordnen?

Danke
noch mal
 
Last edited:
Der Eintrag geht ja auf smtp_header_checks ist das eventuell nur für Port 25?
sollte auch für ausgehende mails sein

Was ist da bitte für was?
# service type private unpriv chroot wakeup maxproc command + args
[% pmg.mail.int_port %] inet n - - - [% pmg.mail.max_smtpd_out %] smtpd
.....
smtpd pass - - - - [% pmg.mail.max_smtpd_in %] smtpd
.....
127.0.0.1:10025 inet n - n - - smtpd
.....

Dann müsste die erste Zeile für OUT (% pmg.mail.int_port % sollte 26 sein oder) sein
Die zweite bei mir für IN SMTP (Port 25)
Die dritte für das Filtern (das auch laut anderen Mails hardcoded ist)
oder?
ja, 'int_port' bezieht sich auf den internen port der dafür genutzt wird mails vom internen netzwerk nach außen zu versenden

irgendwie fehlt mir da aber was, vielleicht mal mit dem originalen template vergleichen und schauen was da so konfiguriert ist?
(/var/lib/pmg/templates/master.cf.in)

Und wie kann ich das auf den Eintrag in der main.cf.in zuordnen?
versteh ich nicht ganz, die main.cf wird von alles postifx diensten hergenommen, welche optionen für welche teile von postfix sind, kann man am besten in der postfix doku nachlesen https://www.postfix.org/documentation.html
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!