[Postfixbuch-users] Logging von Message-IDs bei rejects

Florian Kaiser fk at florian-kaiser.net
Mi Jun 30 10:53:53 CEST 2010


http://www.postfix.org/header_checks.5.html
Ich zitiere gerne, vielleicht habe ich einen Denk / Verständnisfehler:

DESCRIPTION
       Each  message  header  or  message  body  line is compared
       against a list of patterns.  When a  match  is  found  the
       corresponding action is executed, and the matching process
       is repeated for the next message header  or  message  body
       line.

TABLE SEARCH ORDER
       For each line of message input, the patterns  are  applied
       in  the order as specified in the table. When a pattern is
       found that  matches  the  input  line,  the  corresponding
       action  is  executed  and  then  the  next  input  line is
       inspected.

Für jede Zeile input (also jeden Header einzeln) wird die gesamte Liste in
der Tabelle durchgegangen. Und da Postfix das nicht parallel machen darf,
wird mit irgendeinem Header angefangen - soweit ich Postfix kenne von "oben
nach unten", also mit dem Header, der zuletzt hinzugefügt wurde zuerst. Es
müsste danach also folgendermaßen ablaufen:

E-Mail enthält die Header:
X-Virus-Tag: No
X-Spam-Tag: Yes
Subject: Test
Content-Type: iso-bla
Message-ID: dwaddwodwaj at dwadwad.peter

header_checks enhält:
/^message-id:\s.*/	WARN
/^X-Spam-Tag: Yes/	REJECT

Jetzt fängt Postfix mit der Überprüfung an, nimmt sich also den ersten
Header "X-Virus-Tag: No" und versucht einen Match zu finden:
1. Test "X-Virus-Tag: No" gegen "/^message-id:\s.*/", kein Match
2. Test "X-Virus-Tag: No" gegen "/^X-Spam-Tag: Yes/",kein Match
-> teste nächsten Header der E-Mail

1. Test "X-Spam-Tag: Yes" gegen "/^message-id:\s.*/", kein Match
2. Test "X-Spam-Tag: Yes" gegen "/^X-Spam-Tag: Yes/", MATCH -> Action:
REJECT (und KEINE weiteren Header-Checks mehr)

Der Header mit der Message-ID wird also nie überprüft. Er müsste am Anfang
der E-Mail stehen, damit eine Überprüfung stattfindet.
So ist meine Praxiserfahrung und so verstehe ich die Dokumentation

Wo ist mein Denk oder Verständnisfehler wenn ich einen habe? Und wenn nicht,
gibt es überhaupt eine Lösung?

-----Original Message-----
From: postfixbuch-users-bounces at listen.jpberlin.de
[mailto:postfixbuch-users-bounces at listen.jpberlin.de] On Behalf Of Ralf
Hildebrandt
Sent: Wednesday, June 30, 2010 10:36 AM
To: postfixbuch-users at listen.jpberlin.de
Subject: Re: [Postfixbuch-users] Logging von Message-IDs bei rejects

* Florian Kaiser <fk at florian-kaiser.net>:
> Leider nein, denn damit ist ja laut Dokumentation von Postfix 
> überhaupt keine Priorisierung möglich.

Höh? Wo soll das stehen?

> Das Matching funktioniert ja leider andersrum, zumindest verstehe ich 
> Wietses Wörter so und die Praxis bestätigt das:

Also meine Praxis bestätigt das Gegenteil. First match wins.

> Postfix geht für jede Headerzeile alle header_checks durch und macht 
> bei einem Match dann die definierte Aktion.

Genau. Wenn deine ERSTE header_checks Zeile diese WRN Geschichte ist, dann
gewinnt sie

Allerdings wird nach WARN weitergemacht

--
Ralf Hildebrandt
  Geschäftsbereich IT | Abteilung Netzwerk
  Charité - Universitätsmedizin Berlin
  Campus Benjamin Franklin
  Hindenburgdamm 30 | D-12203 Berlin
  Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
  ralf.hildebrandt at charite.de | http://www.charite.de
	    
--
_______________________________________________
Postfixbuch-users -- http://www.postfixbuch.de Heinlein Professional Linux
Support GmbH

Postfixbuch-users at listen.jpberlin.de
https://listi.jpberlin.de/mailman/listinfo/postfixbuch-users




Mehr Informationen über die Mailingliste Postfixbuch-users