Spam-Protection funktioniert nicht

robind

Registered User
Hallo.
Zur Zeit bekomme ich ziemlich viel lästigen Spam. Diesen wollte ich Serverseitig beseitigen bzw. in einen extra Ordner verschieben. Dazu habe ich auf huschi.net dieses Tutorial gefunden: Plesk, Qmail & Spamassassin: spezielle Spam-Ordner - huschi.net Soweit so gut, ich habe es wie in der Anleitung beschrieben nach gemacht und QMail neugestartet.

In der procmail.log steht folgendes:

procmail: Extraneous locallockfile ignored
procmail: Lock failure on "/var/qmail/mailnames/robindouglas.de/robin/Maildir/.s pam/new.lock"
procmail: Error while writing to "/var/qmail/mailnames/robindouglas.de/robin/Mai ldir/.spam/new"
From antigensw@tommyaldridge.com Sat Jan 05 15:22:11 2008
Subject: *****SPAM***** Mittel gegen Impotenz
Folder: /var/qmail/mailnames/robindouglas.de/robin/Maildir/new/msg.Q 11232

Hat jemand ne Idee wie ich das lösen kann? Die Mails werden zwar von spamassassin als Spam erkannt, aber von Procmail werden sie nicht weiter verarbeitet..
 
PreScriptum: Puschen ist hier nicht gerne gesehen...!

Evtl. liegt es einfach an Deiner Fragestellung:
Es fehlen z.B. Angaben über Deine procmailrc und wie die Verzeichnis-Struktur unter /var/qmail/mailnames/robindouglas.de/robin/Maildir/ aussieht....

huschi.
 
Hallo!
Also meine procmailrc sieht wie folgender Maßen aus:

SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/robindouglas.de/robin
MAILDIR=$HOME/Maildir/new
SPAM=$HOME/Maildir/.spam/new
LOGFILE=$HOME/procmail.log
VERBOSE=off

:0fw
|spamassassin

:0:
* ^X-Spam-Flag: YES
{
EXITCODE=99
:0:
$SPAM
}

:0 w
$MAILDIR

Die Verzeichnisstruktur von /var/qmail/mailnames/robindouglas.de/robin/Maildir:

-rw-r--r-- 1 popuser popuser 106 2008-01-07 16:36 courierpop3dsizelist
drwx------ 2 popuser popuser 8192 2008-01-07 16:36 cur
-rw-r--r-- 1 popuser popuser 2033 2008-01-07 16:36 maildirsize
drwx------ 2 popuser popuser 8192 2008-01-07 16:36 new
drwx------ 5 root root 4096 2008-01-07 16:26 .spam
drwx------ 2 popuser popuser 4096 2008-01-07 16:36 tmp

PS: Aus irgendwelchen Gründen, ging mein Postfach nach erfolglosem Rumprobieren an der .procmailrc gar nicht mehr, so dass ich es neu anlegen musste. Jetzt geht Spamassassin aber nicht. Wie kann ich den Dienst starten? Hab aber die Lizenz nicht dafür.
Um Hilfe wär ich dankbar.

Gruß Robin
 
Hi. Danke, ist mir auch grad aufgefallen =) Aber wie kann ich nun jetzt Spamassassin wieder starte/aktivieren? Außerdem verschiebt er neue Nachrichten jetzt nicht in den Maildir Ordner, sondern behält sie im Home-Verzeichniss.
 
Also die Situation ist folgende: Ich habe in Plesk den Mail-Account löschen müssen, weil gar nix mehr funktionierte, weder SMTP noch POP3. Nachdem ich den Account dann neuangelegt habe funktionierte es wieder wunderbar, das mit dem E-Mail empfangen und versenden. Jedoch wird der Spam von Spamassassin nicht erkannt, obwohl der Dienst läuf (in Plesk steht aber, dass Spamassassin für diese Mailbox deaktiviert ist, wie kann ich den dienst denn für diese Mailbox aktivieren?).
Die log-Datei von procmail im Ordner /var/qmail/mailnames/robindouglas.de/robin wird erst gar nicht angelegt. Ich habe jetzt alle Rechte in dem betreffenden Mailordner auf den User "popuser" gesetz. Die neuen E-Mails landen im Verzeichnis /var/qmail/mailnames/robindouglas.de/robin statt im Verzeichniss /var/qmail/mailnames/robindouglas.de/robin/Maildir/new.. Woran könnte das liegen?

Hier meine .procmailrc:

SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/robindouglas.de/robin/
MAILDIR=$HOME/Maildir/new
SPAM=$HOME/Maildir/.spam/new
LOGFILE=$HOME/procmail.log
VERBOSE=on

:0fw
|spamassassin

:0:
* ^X-Spam-Flag: YES
{
EXITCODE=99
:0:
$SPAM
}

:0 w
$MAILDIR

Das steht in .qmail:

| true
| /usr/bin/deliverquota ./Maildir
| preline /usr/bin/procmail -m .procmailrc

Und das ist die Verzeichnisstruktur vom Maildir-Ordner:

drwxr-xr-x 2 popuser popuser 4096 2008-01-07 17:02 courierimaphieracl
drwx------ 2 popuser popuser 4096 2008-01-07 17:02 courierimapkeywords
-rw-r--r-- 1 popuser popuser 15 2008-01-07 17:02 courierimapuiddb
-rw-r--r-- 1 popuser popuser 975 2008-01-07 22:27 courierpop3dsizelist
drwx------ 2 popuser popuser 8192 2008-01-07 22:27 cur
-rw-r--r-- 1 popuser popuser 3047 2008-01-07 22:33 maildirsize
drwx------ 2 popuser popuser 8192 2008-01-07 22:33 new
drwx------ 5 popuser popuser 4096 2008-01-07 16:26 .spam
drwx------ 2 popuser popuser 4096 2008-01-07 22:33 tmp
Und das vom Ordner /var/qmail/mailnames/robindouglas.de/robin:

drwx------ 2 popuser popuser 4096 2008-01-06 21:14 @attachments
drwx------ 8 popuser popuser 4096 2008-01-07 17:02 Maildir
-rw------- 1 popuser popuser 988 2008-01-07 22:25 msg.0HBM
-rw------- 1 popuser popuser 1612 2008-01-07 22:33 msg.6GBM
-rw------- 1 popuser popuser 988 2008-01-07 22:25 msg.aHBM
-rw------- 1 popuser popuser 1241 2008-01-07 21:00 msg.EHBM
-rw------- 1 popuser popuser 7200 2008-01-07 20:14 msg.-GBM
-rw------- 1 popuser popuser 1187 2008-01-07 21:58 msg.gHBM
-rw------- 1 popuser popuser 1634 2008-01-07 20:24 msg.GHBM
-rw------- 1 popuser popuser 2997 2008-01-07 21:26 msg.IHBM
-rw------- 1 popuser popuser 1254 2008-01-07 22:12 msg.kHBM
-rw------- 1 popuser popuser 2458 2008-01-07 20:35 msg.KHBM
-rw------- 1 popuser popuser 5996 2008-01-07 21:24 msg.MHBM
-rw------- 1 popuser popuser 7393 2008-01-07 21:58 msg.SHBM
-rw------- 1 popuser popuser 988 2008-01-07 22:25 msg.uHBM
-rw------- 1 popuser popuser 8319 2008-01-07 21:28 msg.UHBM
-rw------- 1 popuser popuser 3179 2008-01-07 21:43 msg.YHBM
-rw-r--r-- 1 popuser popuser 287 2008-01-07 18:17 .procmailrc
-rw------- 1 popuser popuser 84 2008-01-07 18:28 .qmail
-rw------- 1 root root 84 2008-01-07 18:27 .qmail.bak

Hoff das sind jetzt genügend Informationen =)

Gruß robin
 
Mir fällt spontan nur auf, daß in der .qmail bereits ein deliverquota vor dem abarbeiten der Procmail kommt. Wenn dieses bereits den korrekten Exitcode liefert wird Procmail gar nicht erst gestartet.
Falls Du deliverquota nutzten möchtest, mußt Du procmail davor setzten und im 'nicht Spam-Fall' lediglich einen beliebigen Exitcode (nur nicht 99) setzten.

huschi.
 
Hi. Hab die Mailbox nochmal entfernt und die deliverquota zeile aus der .qmail entfernt. Doch der Spamschutz geht immer noch net, weil Spamassassin den Spam nicht als Spam erkennt, obwohl der Dienst gestartet ist, in Plesk aber nicht aktiviert. Wie kann ich den Dienst manuell über die Konsole aktivieren?
Ich weiß noch, wie ich den schonmal aktiviert habe, nur über einen --start parameter. Aber wo? Hab schon erfolglos /etc/init.d/spamd start und /etc/init.d/psa restart probiert. Der Dienst ist anscheinend auch gestartet.

Gruß Robin
 
Hier meine .procmailrc:
Code:
|spamassassin
Du rufst SA in procmail direkt auf. Ohne Dienst!
Der Aufruf zum spamd wäre "spamc".

Hab schon erfolglos /etc/init.d/spamd start
Und "erfolglos" heißt?
Läuft er oder läuft er nicht?
Kontrolliere es mit "ps aux|grep spam".
Aber wie gesagt: Du rufst bisher SA direkt auf. Daher brauchst Du den SA-Daemon nicht.

huschi.
 
Hi.
So wie ich das sehe läuft der Spamd-Damon, jedenfalls liefert der Startparameter Erfolg zurück.
Hier die Ausgabe von: ps aux|grep spam

root 9521 0.0 1.2 27092 24984 ? Ss 16:42 0:00 /usr/sbin/spamd --username=popuser --daemonize --nouser-config --helper-home-dir=/var/qmail --max-children 1 --create-prefs --virtual-config-dir=/var/qmail/mailnames/%d/%l/.spamassassin --pidfile=/var/run/spamd/spamd_full.pid --socketpath=/tmp/spamd_full.sock
popuser 9524 0.0 1.1 27092 23740 ? S 16:42 0:00 spamd child
root 32405 0.0 0.0 2744 736 pts/1 S+ 22:47 0:00 grep spam

Der Spam landet jedoch nach wie vor nicht im Spam-Ordner, obwohl alle Rechte richtig gesetzt sein müssten:


drwxr-xr-x 2 popuser popuser 4096 2008-01-09 16:53 courierimaphieracl
drwx------ 2 popuser popuser 4096 2008-01-09 16:53 courierimapkeywords
-rw-r--r-- 1 popuser popuser 37 2008-01-09 22:41 courierimapuiddb
-rw-r--r-- 1 popuser popuser 110 2008-01-09 22:38 courierpop3dsizelist
drwx------ 2 popuser popuser 4096 2008-01-09 22:41 cur
-rw-r--r-- 1 popuser popuser 53 2008-01-09 22:38 maildirsize
drwx------ 2 popuser popuser 4096 2008-01-09 22:41 new
drwx------ 5 popuser popuser 4096 2008-01-09 22:39 .spam
drwx------ 2 popuser popuser 4096 2008-01-09 22:41 tmp

Hier meine aktuelle .procmailrc:

SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/mailnames/robindouglas.de/robin
MAILDIR=$HOME/Maildir/new
SPAM=$HOME/Maildir/.spam/new
LOGFILE=$HOME/procmail.log
VERBOSE=off

:0fw
|spamassassin

:0:
* ^X-Spam-Flag: YES
{
EXITCODE=99
:0:
$SPAM
}

:0 w
$MAILDIR

Meine .qmail:

| true
|preline /usr/bin/procmail -m .procmailrc

Gruß Robin
 
läuft der Spamd-Damon
...wird aber immer noch nicht genutzt.

Der Spam landet jedoch nach wie vor nicht im Spam-Ordner
Wird Procmail denn aufgerufen?
Steht was im Logfile? (mail.info und procmail.log)
Kommen die Emails denn an?
Wenn ja, gibt es "X-Spam" Einträge im Mailheader?
Hast Du Qmail zwischendurch mal neu gestartet?

huschi.
 
Hi.
Die Mails kommen an, ja.. Und Spamassassin scheint auch zu funktionieren, weil er bei den Spam-Mails das Wort "SPAM" in den BEtreff schreibt. In der procmail.log steht nichts außergewöhnliches, außer dass öfters mal "Exteanous locallockfile ignored" bei Spam- und Nicht-Spam-Mails vorkommt. QMail starte ich nach jeder Änderung in .procmailrc und .qmail neu.

Gruß Robin
 
Wenn sichergestellt ist, daß SA und Procmail korrekt eingebunden sind, ist es Zeit Procmail etwas gesprächiger zu gestallten:
Code:
VERBOSE=on

huschi.
 
Aja.. Da haben wir den Übeltäter:

procmail: [28654] Thu Jan 10 17:57:13 2008
procmail: Executing "spamassassin"
procmail: [28654] Thu Jan 10 17:57:16 2008
procmail: No match on "^X-Spam-Flag: YES"
procmail: Extraneous locallockfile ignored
procmail: Assigning "LASTFOLDER=/var/qmail/mailnames/robindouglas.de/robin/Maildir/new/msg.cAAT"
procmail: Opening "/var/qmail/mailnames/robindouglas.de/robin/Maildir/new/msg.cAAT"
procmail: Acquiring kernel-lock
From robin@robindouglas.de Thu Jan 10 16:57:13 2008
Subject: test
Folder: /var/qmail/mailnames/robindouglas.de/robin/Maildir/new/msg.c 2432

No match on "^X-Spam-Flag: YES" - Da fällt mir nur eine Frage ein: Wie kann ich diesen Fehler lösen?

Gruß Robin
 
Vergleiche es mit der realen Spam-Mail im Header.
Wird evtl. der Flag gar nicht gesetzt?
Kannst Du vielleicht den X-Spam-Status abfragen?
Oder den X-Spam-Level....?
Oder, oder, oder....

huschi.
 
Hi.
Bei X-Spam-Status tritt das gleiche Problem auf. X-Spam-Level hab ich noch nicht probiert, werd ich gleich mal machen, aber ich vermute, dass dabei dasselbe Ergebnis rauskommt.

Gruß Robin

Edit: X-Spam-Level soeben auch ausprobiert, funktioniert auch nicht; gleiches Problem. Interessant ist auch, dass in der log steht "procmail: Acquiring kernel-lock".
 
Last edited by a moderator:
Hi.
Hab jetzt noch ein Problem festgestellt: Ich kann E-Mails nur noch an mich selber versenden, nicht aber an externe E-Mail-adressen. Aber ich habe an dem SMTP Server rein gar nix verändert. Und laufen tut er auch. Woran könnte das liegen?

LG; Robin
 
Back
Top