Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comm.software.mailserver > #5658 > unrolled thread
| Started by | Sebastian Suchanek <sebastian.suchanek@gmx.de> |
|---|---|
| First post | 2017-04-21 17:37 +0200 |
| Last post | 2017-04-22 13:32 +0000 |
| Articles | 7 — 4 participants |
Back to article view | Back to de.comm.software.mailserver
procmail: Probleme mit umbrochenen Headerzeilen Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2017-04-21 17:37 +0200
Re: procmail: Probleme mit umbrochenen Headerzeilen Sven Hartge <sh-174@svenhartge.de> - 2017-04-21 19:52 +0200
Re: procmail: Probleme mit umbrochenen Headerzeilen Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2017-04-22 12:26 +0200
Re: procmail: Probleme mit umbrochenen Headerzeilen Sven Hartge <sh-174@svenhartge.de> - 2017-04-22 13:20 +0200
Re: procmail: Probleme mit umbrochenen Headerzeilen Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2017-04-22 15:19 +0200
Re: procmail: Probleme mit umbrochenen Headerzeilen Claus Aßmann <ca+sendmail(-no-copies-please)@mine.informatik.uni-kiel.de> - 2017-04-22 13:27 +0000
Re: procmail: Probleme mit umbrochenen Headerzeilen "Andreas M. Kirchwitz" <amk@spamfence.net> - 2017-04-22 13:32 +0000
| From | Sebastian Suchanek <sebastian.suchanek@gmx.de> |
|---|---|
| Date | 2017-04-21 17:37 +0200 |
| Subject | procmail: Probleme mit umbrochenen Headerzeilen |
| Message-ID | <odd8vg$ptn$1@msgid.suchanek.de> |
Hallo NG! Vorweg: wenn jemand eine passendere NG für das folgende Anliegen kennt, bitte entsprechend f'uppen. Nun zum eigentlichen Problem: Auf meinem Server verwende ich procmail, um mir eingehende Mails automatisch eine ausgedehnte IMAP-Ordnerstruktur zu sortieren. Grundsätzlich klappt das wunderbar, allerdings tut folgende Regel nicht ganz das, was sie soll: | [...] | :0 | * ^Subject:.*ende(t|n)(\s|_)bald | * ^From.*ebay@ebay.(de|com) | .eBay.Erinnerungen/ | [...] Denn seit Kurzem umbricht eBay - zumindest bei Betreffs mit ausschließlich 7-bit-ASCII-Zeichen - die Subject-Zeile: | [...] | Subject: $Teil_1_des_Auktionstitels | $Teil_2_desAuktionstitels endet bald, $eBay-Name | [...] Randnotiz 1: Wenn der Auktionstitel Umlaute o.ä. enthält, codiert eBay das Subject in UTF-8 und umbricht die Zeile nicht - dann funktioniert auch die o.g. procmail-Regel. Randnotiz 2: Man kann an dieser Stelle ausnahmsweise eBay nicht mal einen Vorwurf machen, umbrochene Headerzeilen sind laut RfC 5322 ja ausdrücklich erlaubt. Die Frage ist jetzt nur: Wie kann ich procmail dazu bringen, auch Mails mit umbrochenen Headerzeilen korrekt zu behandeln? (Immerhin behaupten einige Google-Fundstellen, procmail würde das standardmäßig automagisch machen...) TIA, Sebastian
[toc] | [next] | [standalone]
| From | Sven Hartge <sh-174@svenhartge.de> |
|---|---|
| Date | 2017-04-21 19:52 +0200 |
| Message-ID | <ddeg5fh81g3v8@mids.svenhartge.de> |
| In reply to | #5658 |
Sebastian Suchanek <sebastian.suchanek@gmx.de> wrote: > Die Frage ist jetzt nur: Wie kann ich procmail dazu bringen, auch Mails > mit umbrochenen Headerzeilen korrekt zu behandeln? (Immerhin behaupten > einige Google-Fundstellen, procmail würde das standardmäßig automagisch > machen...) Eigentlich kommt procmail seit 1994 mit umbrochenen Header-Zeilen klar, wenngleich der Code ein wenig zu schlampig programmiert war. Dies betrifft dein Problem aber nicht. Kannst du deine Regel einmal in eine separate Datei auslagern, dort zusätzlich noch VERBOSE=yes definieren, dann eine das Problem reproduzierende Test-Mail manuall nach procmail pipen und dann die Ausgabe wieder hier posten? S° -- Sigmentation fault. Core dumped.
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Suchanek <sebastian.suchanek@gmx.de> |
|---|---|
| Date | 2017-04-22 12:26 +0200 |
| Message-ID | <odfb56$np1$1@msgid.suchanek.de> |
| In reply to | #5659 |
Am 21.04.2017 um 19:52 schrieb Sven Hartge: > Sebastian Suchanek <sebastian.suchanek@gmx.de> wrote: > >> Die Frage ist jetzt nur: Wie kann ich procmail dazu bringen, auch Mails >> mit umbrochenen Headerzeilen korrekt zu behandeln? (Immerhin behaupten >> einige Google-Fundstellen, procmail würde das standardmäßig automagisch >> machen...) > > Eigentlich kommt procmail seit 1994 mit umbrochenen Header-Zeilen klar, > wenngleich der Code ein wenig zu schlampig programmiert war. Dies > betrifft dein Problem aber nicht. > > Kannst du deine Regel einmal in eine separate Datei auslagern, dort > zusätzlich noch VERBOSE=yes definieren, dann eine das Problem > reproduzierende Test-Mail manuall nach procmail pipen und dann die > Ausgabe wieder hier posten? Klar... (Nur meine E-Mail-Adresse und mein eBay-Name sind hier anonymisiert.) ---------------------------- 8< --------------------------------- root@tigersclaw:~/mailtest# ll total 164 drwxr-xr-x 4 root root 4096 Apr 22 12:14 . drwx------ 11 root root 4096 Apr 22 12:14 .. drwxr-xr-x 2 root root 4096 Apr 22 12:15 default drwxr-xr-x 2 root root 4096 Apr 22 12:09 match -rw-r--r-- 1 root root 143980 Apr 22 12:11 testmail -rw-r--r-- 1 root root 228 Apr 22 12:09 testrc root@tigersclaw:~/mailtest# ---------------------------- 8< --------------------------------- root@tigersclaw:~/mailtest# cat testrc SHELL=/bin/sh PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin MAILDIR=$HOME/Maildir/ LOGABSTRACT="all" VERBOSE="on" :0 * ^Subject:.*ende(t|n)(\s|_)bald * ^From.*ebay@ebay.(de|com) match :0 * /root/mailtest/default root@tigersclaw:~/mailtest# ---------------------------- 8< --------------------------------- root@tigersclaw:~/mailtest# grep -C3 ^Subject testmail From: eBay <ebay@ebay.de> To: localpart@domain.tld Message-ID: <6be8a0ff-7b1c-4518-9e4b-ee2e43bd5252@chd1b02c-65e7> Subject: Sapphire ATI Radeon X1600 PRO (512 MB) AGP Grafikkarte endet bald, XXXXX MIME-Version: 1.0 Content-Type: multipart/alternative; root@tigersclaw:~/mailtest# ---------------------------- 8< --------------------------------- root@tigersclaw:~/mailtest# cat testmail | procmail ./testrc procmail: Couldn't chdir to "/root/Maildir/" procmail: [24039] Sat Apr 22 12:24:13 2017 procmail: No match on "^Subject:.*ende(t|n)(\s|_)bald" procmail: Match on "" procmail: Assigning "LASTFOLDER=/root/mailtest/default/msg.tCAcB" procmail: Opening "/root/mailtest/default/msg.tCAcB" procmail: Acquiring kernel-lock Subject: Sapphire ATI Radeon X1600 PRO (512 MB) AGP Grafikkarte endet bald, Folder: /root/mailtest/default/msg.tCAcB 143980 root@tigersclaw:~/mailtest# ---------------------------- 8< --------------------------------- Tschüs, Sebastian
[toc] | [prev] | [next] | [standalone]
| From | Sven Hartge <sh-174@svenhartge.de> |
|---|---|
| Date | 2017-04-22 13:20 +0200 |
| Message-ID | <fdei2t381g3v8@mids.svenhartge.de> |
| In reply to | #5660 |
Sebastian Suchanek <sebastian.suchanek@gmx.de> wrote: > Subject: Sapphire ATI Radeon X1600 PRO (512 MB) AGP Grafikkarte endet bald, > XXXXX > procmail: No match on "^Subject:.*ende(t|n)(\s|_)bald" Der irritierende Teil ist, dass der Teil der Regexp, die matchen müßte, ja sogar in der ersten Zeile vorkommt, d.h, selbst wenn das Unfolding kaputt wäre, müßte es einen Match geben. S° -- Sigmentation fault. Core dumped.
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Suchanek <sebastian.suchanek@gmx.de> |
|---|---|
| Date | 2017-04-22 15:19 +0200 |
| Message-ID | <odfl99$67v$1@msgid.suchanek.de> |
| In reply to | #5661 |
Am 22.04.2017 um 13:20 schrieb Sven Hartge: > Sebastian Suchanek <sebastian.suchanek@gmx.de> wrote: > >> Subject: Sapphire ATI Radeon X1600 PRO (512 MB) AGP Grafikkarte endet bald, >> XXXXX > >> procmail: No match on "^Subject:.*ende(t|n)(\s|_)bald" > > Der irritierende Teil ist, dass der Teil der Regexp, die matchen müßte, > ja sogar in der ersten Zeile vorkommt, d.h, selbst wenn das Unfolding > kaputt wäre, müßte es einen Match geben. In diesem speziellen Fall ja. Davon abgesehen habe ich heute noch das "Versagen" einer weiteren procmail-Filterregel für eBay-Mails beobachtet, bei der derjenige Subject-Teil, auf den die Regel eigentlich matchen müsste, sogar ganz vorne in der Zeile steht. Gemeinsamkeit in beiden Fällen ist, dass in der Filterregel ein "\s" vorkommt. Daraufhin habe ich die o.g. Filterregel etwas abgewandelt: ---------------------------- 8< --------------------------------- root@tigersclaw:~/mailtest# cat testmail | procmail ./testrc procmail: Couldn't chdir to "/root/Maildir/" procmail: [4743] Sat Apr 22 15:00:08 2017 procmail: Match on "^Subject:.*ende(t|n)( |_)bald" procmail: Match on "^From.*ebay@ebay.(de|com)" procmail: Assigning "LASTFOLDER=match/msg.oCAcB" procmail: Opening "match/msg.oCAcB" procmail: Acquiring kernel-lock Subject: Sapphire ATI Radeon X1600 PRO (512 MB) AGP Grafikkarte endet bald, Folder: match/msg.oCAcB 143980 root@tigersclaw:~/mailtest# ---------------------------- 8< --------------------------------- Gerade habe ich noch ein wenig gegoogelt - wenn ich die Zusammenhänge richtig verstanden habe, greift procmail intern auf egrep zurück und das kennt den PCRE-Ausdruck "\s" nicht. Tschüs, Sebastian
[toc] | [prev] | [next] | [standalone]
| From | Claus Aßmann <ca+sendmail(-no-copies-please)@mine.informatik.uni-kiel.de> |
|---|---|
| Date | 2017-04-22 13:27 +0000 |
| Message-ID | <odflo5$8h3$1@dont-email.me> |
| In reply to | #5658 |
Sebastian Suchanek wrote:
> | * ^Subject:.*ende(t|n)(\s|_)bald
> | Subject: $Teil_1_des_Auktionstitels
> | $Teil_2_desAuktionstitels endet bald, $eBay-Name
$ cat prc
VERBOSE=YES
:0:
* ^Subject:.*ende[tn][_ ]bald
* ^From.*ebay@ebay.(de|com)
ended
$ procmail -t -m prc -d $USER << EOF
Date: Tue, 7 Feb 2012 18:32:42 -0800^M
From: ebay@ebay.de^M
To: $USER@example.org^M
Subject: Teil_1_des_Auktionstitels^M
Teil_2_desAuktionstitels endet bald, $eBay-Name^M
Message-ID: <20120208023242.GA24762@quiet.esmtp.org>^M
^M
egal^M
^M
EOF
procmail: [26962] Sat Apr 22 06:27:16 2017
procmail: Match on "^Subject:.*ende[tn][_ ]bald"
procmail: Match on "^From.*ebay@ebay.(de|com)"
...
--
Note: please read the netiquette before posting. I will almost never
reply to top-postings which include a full copy of the previous
article(s) at the end because it's annoying, shows that the poster
is too lazy to trim his article, and it's wasting the time of all readers.
[toc] | [prev] | [next] | [standalone]
| From | "Andreas M. Kirchwitz" <amk@spamfence.net> |
|---|---|
| Date | 2017-04-22 13:32 +0000 |
| Message-ID | <slrnofmmqf.spr.amk@msgid.krell.zikzak.de> |
| In reply to | #5658 |
Sebastian Suchanek <sebastian.suchanek@gmx.de> wrote: >| [...] >| :0 >| * ^Subject:.*ende(t|n)(\s|_)bald >| * ^From.*ebay@ebay.(de|com) >| .eBay.Erinnerungen/ >| [...] Procmail kennt leider kein \s als Whitespace-Umschreibung wie Perl. Man muss daher auf Space und Tab (kann man direkt in die Procmail- Regel schreiben, das klappt schon) jeweils einzeln prüfen. Deine Regel funktioniert daher nur bei Quoted-Printable, wenn das Leerzeichen durch _ ersetzt wird. Folgendes sollte das Gewünschte erreichen: * ^Subject:.*ende(t|n)[ _]bald Ob man in diesem Fall überhaupt auf Tab prüfen muss, kann ich nicht beurteilen, aber es schadet freilich nicht. Grüße, Andreas
[toc] | [prev] | [standalone]
Back to top | Article view | de.comm.software.mailserver
csiph-web