[Postfixbuch-users] Matching in Body Checks
Sandy Drobic
postfixbuch-users at japantest.homelinux.com
Do Mai 31 14:22:07 CEST 2007
Beat Jucker wrote:
>> ich habe mal eine kurze Frage zu Body-Checks: Dort kann ich ja
>> im Body der Mail RegEx-Matching durchführen. Wenn ich dabei ein
>> Zeilenende matchen möchte sollte das ja so gehen:
>>
>> /...\n/ bzw. /...\r\n/
>
> falsch
>
> Zeilenende=$
> Zeilenanfang=^
Das ist nicht ganz korrekt. Es sollte eher heißen "Stringanfang" und
"Stringende". Bei Body_checks ist dies tatsächlich der Zeilenumbruch, bei
header_checks (und mime_header_checks) wäre dies jedoch nicht der Fall.
"man pcre_table" spricht auch von einer "logischen Zeile". Der String
umfasst dann alle Zeilen, die mit einem Whitespace beginnen (Tab,
Leerzeichen).
>> Ist es dabei auch irgendwie möglich auf das Ende der E-Mail
>> zu matchen?
>
> Bsp:
> Zeilenede mit "xyz": /xyz$/
> Zeilenanfang mit "abc", etwas dazwischen, "xyz" am Ende: /^abc.*xyz$/
Er wollte das Ende der Email prüfen. Dies ist nicht möglich, da
body_checks jeweils nur eine Zeile prüft unabhängig von der Position (bis
$body_checks_size_limit erreicht ist).
Möglich ist vielleicht, einen charakteristischen Zeilenanfang zu nehmen
und nur dann das Muster zu prüfen. Das spart etwas CPU-Belastung.
Sinnvoller wäre aber sicher, so intensive Checks nur anzuwenden auf Mails,
welche dies Behandlung brauchen. Das ist eher eine Aufgabe für einen
benutzerdefinierten Transport auf ein Script. Body_checks werden auf jede
Mail angewandt, das ist für so eine Aufgabe wahrscheinlich nicht das
richtig Werkzeug.
--
Sandy
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com
Mehr Informationen über die Mailingliste Postfixbuch-users