Hallo zusammen,
ich habe ein Verständnisproblem zu den Header_checks. Ich habe mir eine einfache Mailingliste gebastelt. Jeder Empfänger ist ein Alias der Mailinglkistenadresse und per header_checks schreibe ich den Reply-to auf die Mailinglistenadresse. Genau so wie in diesem Artikel: https://www.marcusjaschen.de/blog/2016/mailingliste-nur-mit-postfix-betreibe... Das funktioniert solange wie die Mails von einem externen Server kommen. Wenn ich aber eine Mail von einer Adresse auf diesem Server schicke funktioniert das nicht. Nach man page lesen war mein Verständnis, dass die Header Checks immer greifen, dem ist aber anscheinend nicht so. Kann mit jemand weiterhelfen, wo mein Denkfehler ist. Ich benötige zwei Dinge, erstens das Verständnis, wie die header_checks funktionieren und zweitens (danach) eine Lösung wie es auch mit eigenen Adressen geht.
Viele Grüße
Sven
Moin,
On 2018-03-23 08:57:24, sven wrote:
ich habe ein Verständnisproblem zu den Header_checks. Ich habe mir eine einfache Mailingliste gebastelt. Jeder Empfänger ist ein Alias der Mailinglkistenadresse und per header_checks schreibe ich den Reply-to auf die Mailinglistenadresse. Genau so wie in diesem Artikel: https://www.marcusjaschen.de/blog/2016/mailingliste-nur-mit-postfix-betreibe... Das funktioniert solange wie die Mails von einem externen Server kommen. Wenn ich aber eine Mail von einer Adresse auf diesem Server schicke funktioniert das nicht. Nach man page lesen war mein Verständnis, dass die Header Checks immer greifen, dem ist aber anscheinend nicht so. Kann mit jemand weiterhelfen, wo mein Denkfehler ist. Ich benötige zwei Dinge, erstens das Verständnis, wie die header_checks funktionieren und zweitens (danach) eine Lösung wie es auch mit eigenen Adressen geht.
an welcher Stelle hast du die header_checks denn definiert? Zeige dazu entweder den relevanten Config-Abschnitt oder am besten gleich "postconf -n".
Marco Dickert – Fri, 23. March 2018 10:40
Moin,
On 2018-03-23 08:57:24, sven wrote:
ich habe ein Verständnisproblem zu den Header_checks. Ich habe mir eine einfache Mailingliste gebastelt. Jeder Empfänger ist ein Alias der Mailinglkistenadresse und per header_checks schreibe ich den Reply-to auf
die
Mailinglistenadresse. Genau so wie in diesem Artikel: www.marcusjaschen.de/blog/2016/mailingliste-nur-mit-postfix-betreiben/ Das funktioniert solange wie die Mails von einem externen Server kommen.
Wenn
ich aber eine Mail von einer Adresse auf diesem Server schicke funktioniert das nicht. Nach man page lesen war mein Verständnis, dass die Header Checks immer greifen, dem ist aber anscheinend nicht so. Kann mit jemand weiterhelfen, wo mein Denkfehler ist. Ich benötige zwei Dinge, erstens das Verständnis, wie die header_checks funktionieren und zweitens (danach) eine Lösung wie es auch mit eigenen Adressen geht.
an welcher Stelle hast du die header_checks denn definiert? Zeige dazu entweder den relevanten Config-Abschnitt oder am besten gleich "postconf -n".
Den Header Checks Eintrag habe ich an letzter Stelle im main.cf
Hier die Ausgabe von postconf -n:
append_dot_mydomain = no biff = no bounce_queue_lifetime = 1h header_checks = regexp:/etc/postfix/header_checks inet_interfaces = 127.0.0.1, xxxxxxxxxxxx local_header_rewrite_clients = static:all local_recipient_maps = $virtual_mailbox_maps mailbox_size_limit = 0 maximal_backoff_time = 15m maximal_queue_lifetime = 1h message_size_limit = 52428800 milter_default_action = accept milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen} milter_protocol = 6 minimal_backoff_time = 5m mua_client_restrictions = permit_mynetworks,permit_sasl_authenticated,reject mua_relay_restrictions = reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_mynetworks,permit_sasl_authenticated,reject mua_sender_restrictions = permit_mynetworks,reject_non_fqdn_sender,reject_sender_login_mismatch,permit_sasl_authenticated,reject myhostname = mail.domain.tld mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 non_smtpd_milters = inet:localhost:11332 postscreen_access_list = permit_mynetworks cidr:/etc/postfix/postscreen_access postscreen_blacklist_action = drop postscreen_dnsbl_action = drop postscreen_dnsbl_sites = ix.dnsbl.manitu.net*2 zen.spamhaus.org*2 postscreen_dnsbl_threshold = 2 postscreen_greet_action = drop queue_run_delay = 5m recipient_delimiter = + smtp_dns_support_level = dnssec smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_tls_ciphers = high smtp_tls_policy_maps = mysql:/etc/postfix/sql/tls-policy.cf smtp_tls_protocols = !SSLv2, !SSLv3 smtp_tls_security_level = dane smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_client_restrictions = permit_mynetworks check_client_access hash:/etc/postfix/without_ptr reject_unknown_client_hostname smtpd_data_restrictions = reject_unauth_pipelining smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname smtpd_milters = inet:localhost:11332 smtpd_recipient_restrictions = check_recipient_access mysql:/etc/postfix/sql/recipient-access.cf smtpd_relay_restrictions = reject_non_fqdn_recipient reject_unknown_recipient_domain permit_mynetworks reject_unauth_destination smtpd_tls_cert_file = /etc/letsencrypt/live/mail.domain.tld/fullchain.pem smtpd_tls_ciphers = high smtpd_tls_key_file = /etc/letsencrypt/live/mail.domain.tld/privkey.pem smtpd_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache tls_high_cipherlist = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA tls_ssl_options = NO_COMPRESSION virtual_alias_maps = mysql:/etc/postfix/sql/aliases.cf virtual_mailbox_domains = mysql:/etc/postfix/sql/domains.cf virtual_mailbox_maps = mysql:/etc/postfix/sql/accounts.cf virtual_transport = lmtp:unix:private/dovecot-lmtp
On 2018-03-23 10:53:22, sven wrote:
Den Header Checks Eintrag habe ich an letzter Stelle im main.cf
Hier die Ausgabe von postconf -n:
header_checks = regexp:/etc/postfix/header_checks
Das sieht erstmal richtig konfiguriert aus. Zeige mal den Inhalt der Datei /etc/postfix/header_checks. Zeige außerdem mal die Mail-Log-Einträge, wenn du eine Mail vom System selbst schickst (also wenn der Fehler auftritt).
On 23.03.2018 12:02, Marco Dickert wrote:
Zeige mal den Inhalt der Datei /etc/postfix/header_checks. Zeige außerdem mal die Mail-Log-Einträge, wenn du eine Mail vom System selbst schickst (also wenn der Fehler auftritt).
Hier der Auszug aus Mail-Log:
Mar 24 11:15:46 mail postfix/submission/smtpd[11182]: connect from dslb-088-067-160-015.088.067.pools.vodafone-ip.de[88.67.160.15] Mar 24 11:15:47 mail postfix/submission/smtpd[11182]: 5FC3B607A4: client=dslb-088-067-160-015.088.067.pools.vodafone-ip.de[88.67.160.15], sasl_method=PLAIN, sasl_username=sven@domain.tld Mar 24 11:15:47 mail postfix/cleanup[11185]: 5FC3B607A4: message-id=5b45c863-7a32-87ea-9af0-986662367521@domain.tld Mar 24 11:15:47 mail postfix/qmgr[6582]: 5FC3B607A4: from=sven@domain.tld, size=552, nrcpt=6 (queue active) Mar 24 11:15:47 mail dovecot: lmtp(11188): Connect from local Mar 24 11:15:47 mail dovecot: lmtp(sven@domain.tld): CIypIFMltlq0KwAAqa3BHQ: sieve: msgid=5b45c863-7a32-87ea-9af0-986662367521@domain.tld: stored mail into mailbox 'INBOX' Mar 24 11:15:47 mail postfix/lmtp[11187]: 5FC3B607A4: to=sven@domain.tld, orig_to=bastelwastel@domain2.tld, relay=mail.domain.tld[private/dovecot-lmtp], delay=0.22, delays=0.19/0.01/0.01/0.02, dsn=2.0.0, status=sent (250 2.0.0 sven@domain.tld CIypIFMltlq0KwAAqa3BHQ Saved) Mar 24 11:15:47 mail dovecot: lmtp(andrea@domain3.tld): CIypIFMltlq0KwAAqa3BHQ:2: sieve: msgid=5b45c863-7a32-87ea-9af0-986662367521@domain.tld: stored mail into mailbox 'INBOX' Mar 24 11:15:47 mail postfix/lmtp[11187]: 5FC3B607A4: to=andrea@domain3.tld, orig_to=bastelwastel@domain2.tld, relay=mail.domain.tld[private/dovecot-lmtp], delay=0.23, delays=0.19/0.01/0.01/0.02, dsn=2.0.0, status=sent (250 2.0.0 andrea@domain3.tld CIypIFMltlq0KwAAqa3BHQ:2 Saved) Mar 24 11:15:47 mail dovecot: lmtp(11188): Disconnect from local: Successful quit Mar 24 11:15:47 mail postfix/submission/smtpd[11182]: disconnect from dslb-088-067-160-015.088.067.pools.vodafone-ip.de[88.67.160.15] ehlo=2 starttls=1 auth=1 mail=1 rcpt=1 data=1 quit=1 commands=8 Mar 24 11:15:47 mail dovecot: imap(sven@domain.tld): Connection closed in=1017 out=38899 Mar 24 11:15:48 mail postfix/smtp[11189]: 5FC3B607A4: to=mr@xxxxxx.xxx, orig_to=bastelwastel@domain2.tld, relay=xxxxxxxx:25, delay=0.84, delays=0.19/0.04/0.26/0.36, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8DA4116C0AF) Mar 24 11:15:48 mail postfix/smtp[11186]: 5FC3B607A4: to=xxxxx@gmail.com, orig_to=bastelwastel@domain2.tld, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c06::1a]:25, delay=1.4, delays=0.19/0.02/0.68/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1521886553 u69si8352098wrc.186 - gsmtp) Mar 24 11:15:48 mail postfix/smtp[11186]: 5FC3B607A4: to=yyyyyyy@gmail.com, orig_to=bastelwastel@domain2.tld, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c06::1a]:25, delay=1.4, delays=0.19/0.02/0.68/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1521886553 u69si8352098wrc.186 - gsmtp) Mar 24 11:15:48 mail postfix/smtp[11186]: 5FC3B607A4: to=zzzzzz@gmail.com, orig_to=bastelwastel@domain2.tld, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c06::1a]:25, delay=1.4, delays=0.19/0.02/0.68/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1521886553 u69si8352098wrc.186 - gsmtp) Mar 24 11:15:48 mail postfix/qmgr[6582]: 5FC3B607A4: removed Mar 24 11:15:55 mail dovecot: imap-login: Login: user=sven@domain.tld, method=PLAIN, rip=88.67.160.15, lip=93.90.178.64, mpid=11192, TLS, session=<N5V/0yVoSoRYQ6AP>
Domain1,2 und 3 liegen auf dem selben Server. Und hier noch die komplette /etx/postfix/header_checks
# /etc/postfix/header_checks # poor man's mailing list /^To: .*bastelwastel@domain2.tld/ PREPEND Reply-To: bastelwastel@domain2.tld
Vielen Dank, fürs anschauen!!!!
Grüße
Sven
On 24.03.2018 11:32, Sven Wagner wrote:
On 23.03.2018 12:02, Marco Dickert wrote:
Zeige mal den Inhalt der Datei /etc/postfix/header_checks. Zeige außerdem mal die Mail-Log-Einträge, wenn du eine Mail vom System selbst schickst (also wenn der Fehler auftritt).
Hier der Auszug aus Mail-Log:
Mar 24 11:15:46 mail postfix/submission/smtpd[11182]: connect from dslb-088-067-160-015.088.067.pools.vodafone-ip.de[88.67.160.15] Mar 24 11:15:47 mail postfix/submission/smtpd[11182]: 5FC3B607A4: client=dslb-088-067-160-015.088.067.pools.vodafone-ip.de[88.67.160.15], sasl_method=PLAIN, sasl_username=sven@domain.tld Mar 24 11:15:47 mail postfix/cleanup[11185]: 5FC3B607A4: message-id=5b45c863-7a32-87ea-9af0-986662367521@domain.tld Mar 24 11:15:47 mail postfix/qmgr[6582]: 5FC3B607A4: from=sven@domain.tld, size=552, nrcpt=6 (queue active) Mar 24 11:15:47 mail dovecot: lmtp(11188): Connect from local Mar 24 11:15:47 mail dovecot: lmtp(sven@domain.tld): CIypIFMltlq0KwAAqa3BHQ: sieve: msgid=5b45c863-7a32-87ea-9af0-986662367521@domain.tld: stored mail into mailbox 'INBOX' Mar 24 11:15:47 mail postfix/lmtp[11187]: 5FC3B607A4: to=sven@domain.tld, orig_to=bastelwastel@domain2.tld, relay=mail.domain.tld[private/dovecot-lmtp], delay=0.22, delays=0.19/0.01/0.01/0.02, dsn=2.0.0, status=sent (250 2.0.0 sven@domain.tld CIypIFMltlq0KwAAqa3BHQ Saved) Mar 24 11:15:47 mail dovecot: lmtp(andrea@domain3.tld): CIypIFMltlq0KwAAqa3BHQ:2: sieve: msgid=5b45c863-7a32-87ea-9af0-986662367521@domain.tld: stored mail into mailbox 'INBOX' Mar 24 11:15:47 mail postfix/lmtp[11187]: 5FC3B607A4: to=andrea@domain3.tld, orig_to=bastelwastel@domain2.tld, relay=mail.domain.tld[private/dovecot-lmtp], delay=0.23, delays=0.19/0.01/0.01/0.02, dsn=2.0.0, status=sent (250 2.0.0 andrea@domain3.tld CIypIFMltlq0KwAAqa3BHQ:2 Saved) Mar 24 11:15:47 mail dovecot: lmtp(11188): Disconnect from local: Successful quit Mar 24 11:15:47 mail postfix/submission/smtpd[11182]: disconnect from dslb-088-067-160-015.088.067.pools.vodafone-ip.de[88.67.160.15] ehlo=2 starttls=1 auth=1 mail=1 rcpt=1 data=1 quit=1 commands=8 Mar 24 11:15:47 mail dovecot: imap(sven@domain.tld): Connection closed in=1017 out=38899 Mar 24 11:15:48 mail postfix/smtp[11189]: 5FC3B607A4: to=mr@xxxxxx.xxx, orig_to=bastelwastel@domain2.tld, relay=xxxxxxxx:25, delay=0.84, delays=0.19/0.04/0.26/0.36, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8DA4116C0AF) Mar 24 11:15:48 mail postfix/smtp[11186]: 5FC3B607A4: to=xxxxx@gmail.com, orig_to=bastelwastel@domain2.tld, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c06::1a]:25, delay=1.4, delays=0.19/0.02/0.68/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1521886553 u69si8352098wrc.186 - gsmtp) Mar 24 11:15:48 mail postfix/smtp[11186]: 5FC3B607A4: to=yyyyyyy@gmail.com, orig_to=bastelwastel@domain2.tld, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c06::1a]:25, delay=1.4, delays=0.19/0.02/0.68/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1521886553 u69si8352098wrc.186 - gsmtp) Mar 24 11:15:48 mail postfix/smtp[11186]: 5FC3B607A4: to=zzzzzz@gmail.com, orig_to=bastelwastel@domain2.tld, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c06::1a]:25, delay=1.4, delays=0.19/0.02/0.68/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1521886553 u69si8352098wrc.186 - gsmtp) Mar 24 11:15:48 mail postfix/qmgr[6582]: 5FC3B607A4: removed Mar 24 11:15:55 mail dovecot: imap-login: Login: user=sven@domain.tld, method=PLAIN, rip=88.67.160.15, lip=93.90.178.64, mpid=11192, TLS, session=<N5V/0yVoSoRYQ6AP>
Domain1,2 und 3 liegen auf dem selben Server. Und hier noch die komplette /etx/postfix/header_checks
# /etc/postfix/header_checks # poor man's mailing list /^To: .*bastelwastel@domain2.tld/ PREPEND Reply-To: bastelwastel@domain2.tld
Hier noch der Auszug aus dem mail.log, wenn es funktioniert, also wenn die Mail von einem anderen Server kommt.
Mar 26 22:24:07 mail postfix/smtpd[23829]: connect from mail-qk0-x229.google.com [2607:f8b0:400d:c09::229] Mar 26 22:24:08 mail postfix/smtpd[23829]: 04AD960C4D: client=mail-qk0-x229.goog le.com[2607:f8b0:400d:c09::229] Mar 26 22:24:08 mail postfix/cleanup[23832]: 04AD960C4D: message-id=<CAHAerZxh2k UKfnguXbApOjuVx78XuT3SF=doL64UNhXCLYzDLA@mail.gmail.com> Mar 26 22:24:08 mail postfix/cleanup[23832]: 04AD960C4D: prepend: header To: Was tel Bastel bastelwastel@domain2.tld from mail-qk0-x229.google.com[2607:f8b 0:400d:c09::229]; from=xxxxx@gmail.com to=bastelwastel@domain2.tld pro to=ESMTP helo=<mail-qk0-x229.google.com>: Reply-To: bastelwastel@domain2.tld Mar 26 22:24:08 mail postfix/qmgr[6582]: 04AD960C4D: from=xxxxxx@gmail.com, s ize=3142, nrcpt=6 (queue active)
Hallo zusammen,
auf den Seiten des Postfix Buches fand ich zum Thema Header_checks den Hinweis, dass es Unterschiede im Mailheader-To und im SMTP-Envelope-To gibt. Leider finde ich nirgendwo etwas dazu , wie ich beide in den header_checks abfrage. Aber mir kam die Idee, dass wenn ich einfach smtp_header_checks mache, dann sollten doch alle ausgehenden Mails betroffen sein. Liege ich mit dieser Vermutung richtig? Sorry, aber die Postfix Dokumentation und die Manpages zu den header checks lassen sehr viel Interpretationsspielraum, deshalb meine dummen Fragen hier.
Grüße
Sven
Also ich habe das Problem jetzt mal bei mir nachgestellt. Bei mir funktioniert es wunderbar. Daher nochmal die Frage: Wie genau hast du die Header-Checks in die Konfiguration eingebaut? Das ist der einzige Teil, den du noch nicht gezeigt hast.
Marco Dickert – Tue, 27. March 2018 10:08
Also ich habe das Problem jetzt mal bei mir nachgestellt. Bei mir funktioniert es wunderbar. Daher nochmal die Frage: Wie genau hast du die Header-Checks in die Konfiguration eingebaut? Das ist der einzige Teil, den du noch nicht gezeigt hast.
Ich habe ganz am Ende der main.cf, also als letzter Eintrag folgendes eingetragen:
header_checks = regexp:/etc/postfix/header_checks local_header_rewrite_clients = static:all
Wird die ganze main.cf benötigt, ich komme gerade nicht auf die Shell des Servers, das ginge erst wieder heute Nacht.
Viele Grüße und Danke
Sven Wagner
On 2018-03-27 08:20:54, sven wrote:
Ich habe ganz am Ende der main.cf, also als letzter Eintrag folgendes eingetragen:
header_checks = regexp:/etc/postfix/header_checks
Hm, genau so hab ich es auch gemacht, wobei ich pcre: statt regexp: genutzt habe. Sowohl Mails, die von außen kommen werden behandelt, als auch welche, die per Submission reinkommen. Das ist eigentlich auch nur logisch, denn die Header-Checks werden vom cleanup-Daemon implementiert, der, wie man auch hier in der Architektur-Übersicht sehen kann [1], alle Mails (sowohl lokal generierte als auch welche, die per SMTP reinkommen) behandelt.
Wo genau bei dir noch der Fehler ist, kann ich leider nicht sagen. Ich hab aktuell keinen Ansatzpunkt.
[1] http://www.postfix.org/OVERVIEW.html#receiving
participants (3)
-
Marco Dickert
-
sven
-
Sven Wagner