Discussion:
procmail filtert nicht
(zu alt für eine Antwort)
Axel Potthoff
2003-09-25 14:01:16 UTC
Permalink
Hallo,

ich möchte meine E-mail erst durch spamassassin und danach durch
procmail filtern lassen.

Mein .forward sieht so aus:

---
"|/usr/bin/procmail -t"
---


Mein .procmailrc so:
---
SHELL=/bin/sh
MAILDIR=${HOME}/Mail
#Troubleshooting:
VERBOSE=yes
LOGABSTRACT=all
LOGFILE=${MAILDIR}/procmail.log
LOG="--- Logging ${LOGFILE} for ${LOGNAME}, "

:0fw
| /usr/bin/spamassassin

:0H
* ^X-Spam-Status: Yes
/dev/null

:0Hc
* ^X-Spam-Status: No
!***@troeoet.de

# Accept all the rest to your default mailbox
:0:
${DEFAULT}
---

im procmail.log steht

---
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
--- Logging /home/ap/Mail/procmail.log for ap, procmail: Executing
"/usr/bin/spamassassin"
procmail: [3881] Tue Sep 23 22:45:15 2003
procmail: No match on "^X-Spam-Status: Yes"
procmail: No match on "^X-Spam-Status: No"
procmail: Locking "/var/spool/mail/ap.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/ap"
procmail: Opening "/var/spool/mail/ap"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/ap.lock"
Folder: /var/spool/mail/ap 1
procmail: Notified comsat: "***@14418:/var/spool/mail/ap"
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
---

Es kommen aber alle Mails bei KMail an und ^X-Spam-Status: Yes bzw.
^X-Spam-Status: No ist im Header vorhanden.

Ich weiß, dass statt :0H auch :0 stehen darf (H = default). Auch das
funktioniert nicht.

Was mache ich falsch?

Danke

Axel
Boris 'pi' Piwinger
2003-09-25 14:07:58 UTC
Permalink
Das ist hochgradig systemabhaengig. Frage Deinen Admin. Aber
es funktioniert ja wohl
Post by Axel Potthoff
---
SHELL=/bin/sh
MAILDIR=${HOME}/Mail
$HOME reicht.
Post by Axel Potthoff
VERBOSE=yes
on, oder?
Post by Axel Potthoff
LOGABSTRACT=all
LOGFILE=${MAILDIR}/procmail.log
$MAILDIR reicht.
Post by Axel Potthoff
LOG="--- Logging ${LOGFILE} for ${LOGNAME}, "
Vermutlich willst Du danach einen Zeilenumbruch.
Post by Axel Potthoff
:0fw
| /usr/bin/spamassassin
:0H
* ^X-Spam-Status: Yes
/dev/null
Whow, Du hast Vertrauen.
Post by Axel Potthoff
:0Hc
* ^X-Spam-Status: No
# Accept all the rest to your default mailbox
${DEFAULT}
Erneut ohne Klammern.
Post by Axel Potthoff
im procmail.log steht
---
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
--- Logging /home/ap/Mail/procmail.log for ap, procmail: Executing
"/usr/bin/spamassassin"
procmail: [3881] Tue Sep 23 22:45:15 2003
procmail: No match on "^X-Spam-Status: Yes"
procmail: No match on "^X-Spam-Status: No"
procmail: Locking "/var/spool/mail/ap.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/ap"
procmail: Opening "/var/spool/mail/ap"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/ap.lock"
Folder: /var/spool/mail/ap 1
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
---
Es kommen aber alle Mails bei KMail an
Du meinst jetzt in $DEFAULT, oder?
Post by Axel Potthoff
und ^X-Spam-Status: Yes bzw.
^X-Spam-Status: No ist im Header vorhanden.
Hast Du das mal kopiert? Vielleicht ist da ein Tab statt
Space oder so, Du koenntest statt dessen .* probieren.
Post by Axel Potthoff
Was mache ich falsch?
Spiel Dich mal mit obigen Aenderungen und schaue, was passiert.

pi
Axel Potthoff
2003-09-25 17:17:13 UTC
Permalink
Hallo Boris,
Post by Boris 'pi' Piwinger
Spiel Dich mal mit obigen Aenderungen und schaue, was passiert.
Ich habe die Änderungen durchgeführt. Ohne Erfolg!

.procmailrc:
---
SHELL=/bin/sh
MAILDIR=$HOME/Mail
#Troubleshooting:
VERBOSE=on
LOGABSTRACT=all
LOGFILE=$MAILDIR/procmail.log
LOG="--- Logging $LOGFILE for $LOGNAME, "

:0fw
| /usr/bin/spamassassin

# :0H
# * ^X-Spam-Status:.*Yes
# /dev/null

:0Hc
* ^X-Spam-Status:.*No
!***@troeoet.de

# Accept all the rest to your default mailbox
:0:
$DEFAULT
---

Im log steht jetzt:
---
--- Logging /home/ap/Mail/procmail.log for ap, procmail: Executing
"/usr/bin/spamassassin"
procmail: [2442] Thu Sep 25 17:45:18 2003
procmail: No match on "^X-Spam-Status:.*No"
procmail: Locking "/var/spool/mail/ap.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/ap"
procmail: Opening "/var/spool/mail/ap"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/ap.lock"
Folder: /var/spool/mail/ap 1
procmail: Notified comsat: "***@14482:/var/spool/mail/ap"
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
---

obwohl im Header steht:
---
X-Spam-Status: No, hits=-0.3 required=6.0 tests=ALL_CAPS_SUBJECT
---

Es ist auch kein Tab nach dem Komma.

Wo ist der Fehler?

Axel
Hans Klein
2003-09-25 19:44:47 UTC
Permalink
Post by Axel Potthoff
:0fw
| /usr/bin/spamassassin
# :0H
# * ^X-Spam-Status:.*Yes
# /dev/null
:0Hc
* ^X-Spam-Status:.*No
---
X-Spam-Status: No, hits=-0.3 required=6.0 tests=ALL_CAPS_SUBJECT
---
^^^^^^^^^^^^^^^^^^^^

Siehst du es jetzt? Ich denke mal ganz simpel, nimm mal .* vor dem No
raus.

Hans
Axel Potthoff
2003-09-25 20:29:49 UTC
Permalink
Hallo Hans,
Post by Hans Klein
Post by Axel Potthoff
:0Hc
* ^X-Spam-Status:.*No
---
X-Spam-Status: No, hits=-0.3 required=6.0 tests=ALL_CAPS_SUBJECT
---
^^^^^^^^^^^^^^^^^^^^
Siehst du es jetzt? Ich denke mal ganz simpel, nimm mal .* vor dem No
raus.
Wieso? War ein Vorschlag von Boris (s.o. im thread) und außerdem ist
nach man procmailrc

. Any character except a newline.
a* Any sequence of zero or more a's.

Also bedeutet ":.*No", dass zwischen : und No eine beliebige Anzahl
(zero or more) eines beliebigen Zeichens sein. Unter der Annahme, dass
sich dort ein tab versteckt, ist der Vorschlag von Boris ok.


Axel
Hans Klein
2003-09-25 20:49:17 UTC
Permalink
Post by Axel Potthoff
Wieso? War ein Vorschlag von Boris (s.o. im thread) und außerdem ist
nach man procmailrc
Hab ich glatt überlesen. Bei mir funktioniert es so:

:0fw
| /usr/bin/spamc

:0
*^X-Spam-Status: Yes
$POSTFACH/spam
Boris 'pi' Piwinger
2003-09-26 09:50:37 UTC
Permalink
Post by Axel Potthoff
:0Hc
* ^X-Spam-Status:.*No
procmail: No match on "^X-Spam-Status:.*No"
X-Spam-Status: No, hits=-0.3 required=6.0 tests=ALL_CAPS_SUBJECT
Ich bin voellig ratlos.

pi
Axel Potthoff
2003-09-26 11:27:02 UTC
Permalink
Hallo Boris,
Post by Boris 'pi' Piwinger
Ich bin voellig ratlos.
ich auch.

Aber ich werde am Wochenende mal weiter suchen.
z.B. spamc und spamd statt spamassassin benutzen
und mich um lock schlau machen. Evtl. ist es ein timingproblem.

Danke erstmal

Axel
Boris 'pi' Piwinger
2003-09-26 11:41:57 UTC
Permalink
Post by Axel Potthoff
Post by Boris 'pi' Piwinger
Ich bin voellig ratlos.
ich auch.
Aber ich werde am Wochenende mal weiter suchen.
z.B. spamc und spamd statt spamassassin benutzen
und mich um lock schlau machen. Evtl. ist es ein timingproblem.
Eigentlich (TM) sollte das w dafuer sorgen.

Teste doch mal folgendes:
LOG=`formail -zxX-Spam-Status:`

pi
Axel Potthoff
2003-09-26 21:54:14 UTC
Permalink
Hallo Boris,
Post by Boris 'pi' Piwinger
LOG=`formail -zxX-Spam-Status:`
.procmailrc
---
SHELL=/bin/sh
MAILDIR=$HOME/Mail
VERBOSE=on
LOGABSTRACT=all
LOGFILE=$MAILDIR/procmail.log
# LOG="--- Logging $LOGFILE for $LOGNAME, "
LOG=`formail -zxX-Spam-Status:`

:0fw
| /usr/bin/spamassassin

:0
*^X-Spam-Status: Yes
# /dev/null
$MAILDIR/Spam

:0c
*^X-Spam-Status: No
!***@troeoet.de

# Accept all the rest to your default mailbox
:0:
$DEFAULT
---

procmail.log
---
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
--- Logging /home/ap/Mail/procmail.log for ap, procmail: Executing
"formail,-zxX-Spam-Status:"
procmail: Assigning "LOG="
procmail: Executing "/usr/bin/spamassassin"
procmail: [1627] Fri Sep 26 17:30:16 2003
procmail: No match on "^X-Spam-Status: Yes"
procmail: No match on "^X-Spam-Status: No"
procmail: Locking "/var/spool/mail/ap.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/ap"
procmail: Opening "/var/spool/mail/ap"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/ap.lock"
Folder: /var/spool/mail/ap 1
procmail: Notified comsat: "***@13545:/var/spool/mail/ap"
procmail: Executing "formail,-zxX-Spam-Status:"
procmail: Assigning "LOG="
procmail: Executing "/usr/bin/spamassassin"
procmail: [1799] Fri Sep 26 17:45:17 2003
procmail: No match on "^X-Spam-Status: Yes"
procmail: No match on "^X-Spam-Status: No"
procmail: Locking "/var/spool/mail/ap.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/ap"
procmail: Opening "/var/spool/mail/ap"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/ap.lock"
Folder: /var/spool/mail/ap 1
procmail: Notified comsat: "***@1931:/var/spool/mail/ap"
---

... und immer noch zeigt K-Mail "X-Spam-Status: No" im Header.

Halt!
procmail: No match on "^X-Spam-Status: Yes"
Ist das ^ richtig?
Oder sollte hier nicht
procmail: No match on "X-Spam-Status: Yes" stehen?

Axel
Boris 'pi' Piwinger
2003-09-27 14:01:55 UTC
Permalink
Post by Boris 'pi' Piwinger
LOG=`formail -zxX-Spam-Status:`
Ich meinte *nach*
Post by Boris 'pi' Piwinger
:0fw
| /usr/bin/spamassassin
Denn wir wollen ja wissnen, ob es da erkennbar ist.
Post by Boris 'pi' Piwinger
Halt!
procmail: No match on "^X-Spam-Status: Yes"
Ist das ^ richtig?
Ja.

pi
Axel Potthoff
2003-09-27 17:59:17 UTC
Permalink
Hallo Boris,
Post by Boris 'pi' Piwinger
Ich meinte *nach*
Post by Axel Potthoff
:0fw
| /usr/bin/spamassassin
.pocmailrc
---
SHELL=/bin/sh
MAILDIR=$HOME/Mail
VERBOSE=on
LOGABSTRACT=all
LOGFILE=$MAILDIR/procmail.log
LOG="--- Logging $LOGFILE for $LOGNAME, "

:0fw
| /usr/bin/spamassassin
LOG=`formail -zxX-Spam-Status:`

:0
*^X-Spam-Status: Yes
# /dev/null
$MAILDIR/Spam

:0c
*^X-Spam-Status: No
!***@troeoet.de

# Accept all the rest to your default mailbox
:0:
$DEFAULT
---


procmail.log
---
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
--- Logging /home/ap/Mail/procmail.log for ap, procmail: Executing
"/usr/bin/spamassassin"
procmail: [3695] Sat Sep 27 19:30:26 2003
procmail: Executing "formail,-zxX-Spam-Status:"
procmail: [3695] Sat Sep 27 19:30:26 2003
procmail: Assigning "LOG="
procmail: No match on "^X-Spam-Status: Yes"
procmail: No match on "^X-Spam-Status: No"
procmail: Locking "/var/spool/mail/ap.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/ap"
procmail: Opening "/var/spool/mail/ap"
procmail: Acquiring kernel-lock
procmail: Unlocking "/var/spool/mail/ap.lock"
Folder: /var/spool/mail/ap 1
procmail: Notified comsat: "***@6067:/var/spool/mail/ap"
---

Axel
Boris 'pi' Piwinger
2003-09-29 09:20:30 UTC
Permalink
Post by Axel Potthoff
:0fw
| /usr/bin/spamassassin
LOG=`formail -zxX-Spam-Status:`
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
--- Logging /home/ap/Mail/procmail.log for ap, procmail: Executing
"/usr/bin/spamassassin"
procmail: [3695] Sat Sep 27 19:30:26 2003
procmail: Executing "formail,-zxX-Spam-Status:"
procmail: [3695] Sat Sep 27 19:30:26 2003
procmail: Assigning "LOG="
Aha, da ist der Boesewicht. Hier muesste der Header
drinstehen, damit er im folgenden matchen kann. Probiere
doch mal in der Kommandozeile aus, was passiert, wenn Du
einen Mail durch /usr/bin/spamassassin pipest.
Post by Axel Potthoff
:0
*^X-Spam-Status: Yes
# /dev/null
$MAILDIR/Spam
Das moechtest Du noch locken.

pi
Axel Potthoff
2003-09-29 10:25:54 UTC
Permalink
Hallo Boris,
Post by Boris 'pi' Piwinger
Post by Axel Potthoff
:0fw
| /usr/bin/spamassassin
LOG=`formail -zxX-Spam-Status:`
procmail: Assigning "LOG=--- Logging /home/ap/Mail/procmail.log for ap,
"
--- Logging /home/ap/Mail/procmail.log for ap, procmail: Executing
"/usr/bin/spamassassin"
procmail: [3695] Sat Sep 27 19:30:26 2003
procmail: Executing "formail,-zxX-Spam-Status:"
procmail: [3695] Sat Sep 27 19:30:26 2003
procmail: Assigning "LOG="
Aha, da ist der Boesewicht. Hier muesste der Header
drinstehen, damit er im folgenden matchen kann. Probiere
doch mal in der Kommandozeile aus, was passiert, wenn Du
einen Mail durch /usr/bin/spamassassin pipest.
einen Mail durch /usr/bin/spamassassin pipest.
Sorry, aber jetzt fehlt mir das know how.

und

Irgendwann wird spamassassin in meinem System doch richtig aufgerufen. Sowohl in K-Mail als auch in Outlock 98 zeigt der Header die Zeilen an und ich kann mit K-Mail und Outlook auch filtern.
Damit wäre ich ja auch zufrieden, wenn nicht dieses forward wäre, mit dem ich die nach dem Filtern übrig gebliebene Mail weiter leiten als Kopie möchte.

Axel
Boris 'pi' Piwinger
2003-09-29 10:45:31 UTC
Permalink
Post by Axel Potthoff
Post by Boris 'pi' Piwinger
Aha, da ist der Boesewicht. Hier muesste der Header
drinstehen, damit er im folgenden matchen kann.
Probiere doch mal in der Kommandozeile aus, was
passiert, wenn Du einen Mail durch
/usr/bin/spamassassin pipest.
einen Mail durch /usr/bin/spamassassin pipest.
Sorry, aber jetzt fehlt mir das know how.
Mail in einer Datei abspeichern, dann:

formail,-zxX-Spam-Status: <Datei
/usr/bin/spamassassin <Datei >Datei2
formail,-zxX-Spam-Status: <Datei2
Post by Axel Potthoff
Irgendwann wird spamassassin in meinem System doch
richtig aufgerufen. Sowohl in K-Mail als auch in Outlock
98 zeigt der Header die Zeilen an und ich kann mit K-Mail
und Outlook auch filtern. Damit wäre ich ja auch
zufrieden, wenn nicht dieses forward wäre, mit dem ich
die nach dem Filtern übrig gebliebene Mail weiter leiten
als Kopie möchte.
Du kannst den LOG-Aufruf ja noch zusaetzlich an alle
moeglichen anderen Stellen packen und schauen, was dann da
drinsteht.

pi
Matthias Andree
2003-09-29 11:34:24 UTC
Permalink
Post by Boris 'pi' Piwinger
formail,-zxX-Spam-Status: <Datei
/usr/bin/spamassassin <Datei >Datei2
formail,-zxX-Spam-Status: <Datei2
Sauber: "bash: formail,-zxX-Spam-Status:: command not found"

Hört bitte endlich Eure Ratespiele auf und verschwendet mit der
stümperhaften Fehlersuche nicht die Zeit Eurer Leser!

Identifiziert die Komponenten und untersucht sie einzeln, dann tauscht
die defekte Komponente aus. Komponenten sind hier: formail (überflüssig,
das -z erst recht), procmail (mangelhaftes Design), spamassassin.

1. formail kann selbst fehlerbehaftet sein. Insbesondere ist -z nicht
sachdienlich: "Zap fields which contain only a single whitespace
character." Wenn überhaupt formail (wofür es keinen Grund gibt), dann
bitte "formail -XX-Spam-Status"; besser "grep ^X-Spam-Status Datei"
nehmen.

2. Der Exit-Code von Spamassassin ist relevant. also alleine auf der
Shell versuchen:
/usr/bin/spamassassin <Datei >Datei2 ; echo $?

WICHTIG: procmail stellt bei Problemen die Mail nicht zurück, sondern
fuckelt einfach mit einer Mail weiter "if the filter is
unsuccessful, then the text will not have been filtered." Mit
anderen Worten: procmail nimmt die ungefilterte Mail und bearbeitet
sie weiter, statt die Mail in die Queue zurückzustellen.

3. procmails Design bevorzugt unzuverlässige Zustellung.

Bitte unbedingt Maildrop 1.6.1 oder neuer ausprobieren, und bitte
dabei "formail" weglassen. Es ist sicherlich kein Zufall, dass das zu
maildrop gehörige reformail keine -z-Option kennt, aber die meisten
formail-Optionen mit gleicher Semantik kennt.
Post by Boris 'pi' Piwinger
Du kannst den LOG-Aufruf ja noch zusaetzlich an alle
moeglichen anderen Stellen packen und schauen, was dann da
drinsteht.
Ja, man kann auch mit dem Festhalten an vermurkster Software und mit
unsystematischem "ich probier mal hier" seine und anderer Leute Zeit
verschwenden.

Kurz: Lasst diesen Thread jetzt bitte endlich sterben!

Nehmt maildrop und gut ist.
--
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95
Boris 'pi' Piwinger
2003-09-29 11:48:08 UTC
Permalink
Post by Matthias Andree
Post by Boris 'pi' Piwinger
formail,-zxX-Spam-Status: <Datei
/usr/bin/spamassassin <Datei >Datei2
formail,-zxX-Spam-Status: <Datei2
Sauber: "bash: formail,-zxX-Spam-Status:: command not found"
Ja, Du hast den Schreibfehler gefunden. Glueckwunsch.
Post by Matthias Andree
Hört bitte endlich Eure Ratespiele auf und verschwendet mit der
stümperhaften Fehlersuche nicht die Zeit Eurer Leser!
Wenn Du was besseres zu bieten hast, dann mal her damit.
Post by Matthias Andree
Identifiziert die Komponenten und untersucht sie einzeln,
Genau das sollte oben passieren.
Post by Matthias Andree
dann tauscht
die defekte Komponente aus. Komponenten sind hier: formail (überflüssig,
das -z erst recht),
Dient hier offenbar nur dem Debugging.
Post by Matthias Andree
procmail (mangelhaftes Design),
Ich kann den Kommentar nicht dem vorliegenden Fall zuordnen.
Post by Matthias Andree
spamassassin.
Genau das soll ja oben passieren.
Post by Matthias Andree
1. formail kann selbst fehlerbehaftet sein. Insbesondere ist -z nicht
sachdienlich: "Zap fields which contain only a single whitespace
character." Wenn überhaupt formail (wofür es keinen Grund gibt), dann
bitte "formail -XX-Spam-Status";
-x oder -X ist hier nicht entscheidend. -z ist hier wurscht,
da hast Du recht, stoert aber auch nicht..
Post by Matthias Andree
besser "grep ^X-Spam-Status Datei" nehmen.
Oder so.
Post by Matthias Andree
2. Der Exit-Code von Spamassassin ist relevant. also alleine auf der
/usr/bin/spamassassin <Datei >Datei2 ; echo $?
Schon wahr, aber ...
Post by Matthias Andree
WICHTIG: procmail stellt bei Problemen die Mail nicht zurück, sondern
fuckelt einfach mit einer Mail weiter "if the filter is
unsuccessful, then the text will not have been filtered." Mit
anderen Worten: procmail nimmt die ungefilterte Mail und bearbeitet
sie weiter, statt die Mail in die Queue zurückzustellen.
Dazu findet man dann im Logfile einen Hinweis.
Post by Matthias Andree
3. procmails Design bevorzugt unzuverlässige Zustellung.
Bitte unbedingt Maildrop 1.6.1 oder neuer ausprobieren, und bitte
dabei "formail" weglassen.
Ich kann nicht erkennen, dass das hier der Punkt ist.
Post by Matthias Andree
Kurz: Lasst diesen Thread jetzt bitte endlich sterben!
Dein Newsreader kennt keine Funktion, um einen Thread zu
ignorieren?
Post by Matthias Andree
Nehmt maildrop und gut ist.
Es spricht aber nichts dafuer, dass es an Procmail liegt.

pi
Matthias Andree
2003-09-29 21:58:55 UTC
Permalink
Post by Boris 'pi' Piwinger
Post by Matthias Andree
dann tauscht
die defekte Komponente aus. Komponenten sind hier: formail (überflüssig,
das -z erst recht),
Dient hier offenbar nur dem Debugging.
Eben deswegen! Es ist ein Teil einer verdächtigen Software (procmail)
und verbietet sich aus dem Grunde von selbst.
Post by Boris 'pi' Piwinger
Post by Matthias Andree
procmail (mangelhaftes Design),
Ich kann den Kommentar nicht dem vorliegenden Fall zuordnen.
Warten wir das Ergebnis ab und verhandeln dann den Status des Designs
neu .-)
Post by Boris 'pi' Piwinger
Post by Matthias Andree
spamassassin.
Genau das soll ja oben passieren.
Ja. Das passiert aber sinnvollerweise nicht durch Neuaufnahme weiterer
Fehlerquellen.
Post by Boris 'pi' Piwinger
Post by Matthias Andree
1. formail kann selbst fehlerbehaftet sein. Insbesondere ist -z nicht
sachdienlich: "Zap fields which contain only a single whitespace
character." Wenn überhaupt formail (wofür es keinen Grund gibt), dann
bitte "formail -XX-Spam-Status";
-x oder -X ist hier nicht entscheidend. -z ist hier wurscht,
da hast Du recht, stoert aber auch nicht..
Natürlich ist der Unterschied zwischen "vorhanden, aber leer" und "nicht
vorhanden" entscheidend, genau danach wird gesucht. formail -z
unterdrückt genau diese Information und macht den Spamassassin-Test
sinnlos.
Post by Boris 'pi' Piwinger
Post by Matthias Andree
2. Der Exit-Code von Spamassassin ist relevant. also alleine auf der
/usr/bin/spamassassin <Datei >Datei2 ; echo $?
Schon wahr, aber ...
Post by Matthias Andree
WICHTIG: procmail stellt bei Problemen die Mail nicht zurück, sondern
fuckelt einfach mit einer Mail weiter "if the filter is
unsuccessful, then the text will not have been filtered." Mit
anderen Worten: procmail nimmt die ungefilterte Mail und bearbeitet
sie weiter, statt die Mail in die Queue zurückzustellen.
Dazu findet man dann im Logfile einen Hinweis.
Da wir nicht wissen, ob procmail korrekt arbeitet, wissen wir auch
nicht, ob es korrekt loggt. Also: nicht sinnvoll.
Post by Boris 'pi' Piwinger
Es spricht aber nichts dafuer, dass es an Procmail liegt.
Es spricht auch nichts dagegen. Wenn's nachher mit maildrop läuft, war's
wohl nicht SpamAssassin.
--
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95
Matthias Andree
2003-09-27 12:13:20 UTC
Permalink
Post by Axel Potthoff
Halt!
procmail: No match on "^X-Spam-Status: Yes"
Ist das ^ richtig?
Oder sollte hier nicht
procmail: No match on "X-Spam-Status: Yes" stehen?
Conditions start with a leading `*', everything after that
character is passed on to the internal egrep literally,
except for leading and trailing whitespace. These regular
expressions are completely compatible to the normal
egrep(1) extended regular expressions. See also Extended
regular expressions.

Ist also richtig.

Welche procmail-Version?

Ich empfehle außerdem den Umstieg auf maildrop
<URL:http://www.flounder.net/~mrsam/maildrop/README.html>
--
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95
Axel Potthoff
2003-09-27 17:53:31 UTC
Permalink
Hallo Matthias,
Post by Matthias Andree
Welche procmail-Version?
***@linux:~> procmail -v
procmail v3.15.1 2001/01/08
Copyright (c) 1990-1999, Stephen R. van den Berg <***@cuci.nl>
Copyright (c) 1999-2001, Philip A. Guenther
<***@sendmail.com>

Submit questions/answers to the procmail-related mailinglist by sending
to:
<procmail-***@procmail.org>

And of course, subscription and information requests for this list to:
<procmail-users-***@procmail.org>

Locking strategies: dotlocking, flock()
Default rcfile: $HOME/.procmailrc
Your system mailbox: /var/spool/mail/ap
Post by Matthias Andree
Ich empfehle außerdem den Umstieg auf maildrop
<URL:http://www.flounder.net/~mrsam/maildrop/README.html>
Werd' ich mal lesen.

Axel
Axel Potthoff
2003-09-29 16:54:53 UTC
Permalink
Hallo Matthias,
Post by Matthias Andree
Ich empfehle außerdem den Umstieg auf maildrop
<URL:http://www.flounder.net/~mrsam/maildrop/README.html>
nach deinen verärgerten Posting von heute Mittag habe ich maildrop
installiert und eine einfache Filterregel mit exit in ~/.maildropfilter
eingebaut. Funktioniert so weit.

Aber wie binde ich hier die Vorverarbeitung durch spamassassin ein?
Ich habe keine Lust ale möglichen und unmöglichen Filter selbst zu
bauen. spamassassin soll die vorarbeit machen und den Rest dann meine
eigenen Regeln in .maildropfilter.

Außerdem habe ich ohne Erfolg versucht E-Mails mit einem bestimmten
Muster weiter zu leiten.

~/.mailfilter
---
if ( /^*jpxxxxx*/ )
{
cc ***@yyy.de
}
---

geht nicht.

! ***@yyy.de auch nicht.

Wahrscheinlich werde ich wg. unklarer oder unvollständiger man pages
zunächst zu procmail zurückkehren und, falls ich es dort in absehbarer
Zeit nicht schaffe über die Mail - Clients filtern lassen.

Axel
Matthias Andree
2003-09-29 22:00:33 UTC
Permalink
Post by Axel Potthoff
Aber wie binde ich hier die Vorverarbeitung durch spamassassin ein?
Ich habe keine Lust ale möglichen und unmöglichen Filter selbst zu
bauen. spamassassin soll die vorarbeit machen und den Rest dann meine
eigenen Regeln in .maildropfilter.
xfilter "/usr/bin/spamassassin"
Post by Axel Potthoff
Außerdem habe ich ohne Erfolg versucht E-Mails mit einem bestimmten
Muster weiter zu leiten.
~/.mailfilter
---
if ( /^*jpxxxxx*/ )
{
}
---
geht nicht.
Wahrscheinlich werde ich wg. unklarer oder unvollständiger man pages
zunächst zu procmail zurückkehren und, falls ich es dort in absehbarer
Zeit nicht schaffe über die Mail - Clients filtern lassen.
Die fragliche manpage heißt "maildropfilter"(1) und ist keineswegs
unklar. (Auch bei procmail liest man außerdem "man procmailrc", nicht
nur "man procmail".)
--
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95
Axel Potthoff
2003-09-30 06:31:18 UTC
Permalink
Hallo Matthias,
Post by Matthias Andree
xfilter "/usr/bin/spamassassin"
...
Vielen Dank!
Ich werde es gleich heute nachmittag einbauen und wenn's dann geht komme ich allein weiter.
Post by Matthias Andree
Die fragliche manpage heißt "maildropfilter"(1) und ist keineswegs
unklar. (Auch bei procmail liest man außerdem "man procmailrc", nicht
nur "man procmail".)
Ist mir bekannt.
Leider ist ein Start mit maildrop meiner Meinung nach deutlich komplexer als mit procmail. Zu Procmail finde ich einfach mehr Informationen im web und in den Printmedien.
Wenn es heute nachmittag klappt, werde ich mich aber weiter da durchbeißen.
Deine Argumentation bzgl. der Mächtigkeit und Übersichtlichkeit der Syntax leuchtet mir schon ein.

Danke

Axel

Alexander Stielau
2003-09-26 15:19:48 UTC
Permalink
Post by Axel Potthoff
Hallo Boris,
Post by Boris 'pi' Piwinger
Ich bin voellig ratlos.
ich auch.
Aber ich werde am Wochenende mal weiter suchen.
z.B. spamc und spamd statt spamassassin benutzen
und mich um lock schlau machen. Evtl. ist es ein timingproblem.
Irgendwas matched da nicht richtig, aber Du hast schon im Hinterkopf,
das Du Yes und No filterst, und zusätzlich noch eine Defauiltmailbox
angibst?

Das macht keinen Sinn.

Entweder es matched auf Yes, oder auf No. Alles dahinter ist ulk, weil
Spamassassin auf jeden Fall einen Header reimschmiert, und deshalb yes
oder no matchen *muss*.

Aleks
Axel Potthoff
2003-09-26 21:43:05 UTC
Permalink
Hallo Alexander,
Post by Alexander Stielau
Irgendwas matched da nicht richtig, aber Du hast schon im Hinterkopf,
das Du Yes und No filterst, und zusätzlich noch eine Defauiltmailbox
angibst?
Das macht keinen Sinn.
Entweder es matched auf Yes, oder auf No. Alles dahinter ist ulk, weil
Spamassassin auf jeden Fall einen Header reimschmiert, und deshalb yes
oder no matchen *muss*.
Für Yes beseitige ich die Mail mit :0

Für No habe ich :0c angegeben, damit diese E-Mail an eine zweite
E-Mailadresse weitergeleitet wird. Früher hatte ich dies über
~/.forward erledigen lassen.

Axel
Alexander Stielau
2003-09-29 11:24:14 UTC
Permalink
Post by Axel Potthoff
Für No habe ich :0c angegeben, damit diese E-Mail an eine zweite
gnragl, sorry. Ich habe das c übersehen.
Aleks
Loading...