Mail-Server » Qmail

ID #1298 Plesk, Qmail & Spamassassin: spezielle Spam-Ordner

Update: Dank fraser 's Nachforschen wurde dieses Howto mit dem EXITCODE ergänzt.

Frage:

Wie richte ich unter Plesk (Version 7 oder 8) SpamAssassin (oder dspam) so ein, dass erkannte Spams in einen speziellen Ordner (zb. spam@domain.tld) verschoben werden?

Lösung:

In den einzelnen maildir's der Benutzer die Datei .qmail wie folgt zu modifizieren:

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

Diese Zeile in der .qmail Datei ruft procmail auf. Wenn wir nun noch eine Datei .procmailrc im Benutzer-Directory anlegen, die folgendes enthält, dann werden Spammails in den neu anzulegen Ordner spam sortiert (anlegen mit maildirmake -f spam /var/qmail/mailnames/DOMAIN/USER/Maildir).

SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/mailnames/DOMAIN/USER
MAILDIR=$HOME/Maildir/new
SPAM=$HOME/Maildir/.spam/new
LOGFILE=$HOME/procmail.log
VERBOSE=off
#Zum Debuggen: VERBOSE=on

:0fw
|spamc
#wer mag, kann hier auch spamassassin nutzten
#oder den von Plesk mitgelieferten psa-spamc

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

$MAILDIR

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

Baddy, zuletzt 2008-04-08 10:28     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

Rubriken zu diesem Artikel
überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   5 von 5 (3 Bewertungen)

Artikel kommentieren

Kommentar von huschi (2006-08-20 22:27:14):
Großer Nachteil dieser Lösung: Die Änderungen sind bei jedem Postfach einzeln zu machen und die .qmail kann von Plesk bei Gelegenheit überschrieben werden.
Ausserdem muß man vorher prüfen, ob die installierte Procmail-Version auch das MailDir-Format unterstützt.

Kommentar von Alex (2007-01-17 16:29:50):
Hi!

Ich habs genau nach deiner Anleitung gemacht, es funktioniert auch soweit klasse :-)

allerdings erhalte ich -sobald ich irgendeine eMail bekomme- immer eine zweite Mail ohne Text, die folgenden Header enthält:

Jan 17 16:21:03.136404 check[8013]: [ 2] [bootup] Logging initiated LogDebugLevel=3 to file:razor-agent.log

das ist alles.
Gibts da 'ne Lösung?

Plesk 8.1 auf SuSE 9.3

Kommentar von paul (2007-01-19 02:12:56):
hallo,

bei mir funktioniert es soweit auch.

NUR:
normale mails landen im .spam ordner.
und kommen per po3 nicht an.
so sollte es eigentlich für die SPAM mails sein!

SPAM mails dagegen landen im .spam ordner UND im maildir verzeichnis. d.h. sie kommen dann doppelt per pop3 an.

hm, wo liegt denn da das problem?

vile grüsse
paul

Kommentar von Hardy (2007-08-12 13:27:05):
Ich benutze AK-Mail zum POP3-Empfang meiner Mails, deshalb nutzt mir der IMAP-Ordner .spam auch nichts. Also muß ich die Spams in eine eigene POP3-Inbox lenken. Ausserdem wollte ich die Nicht-Spams weiter von Qmail verarbeiten lassen und Doppler vermeiden. Ich habe eine eMail-Adresse NORMALE_MAILADRESSE und zusätzlich eine SPAM_MAILADRESSE erstellt. Die .procmailrc sieht bei mir so aus:
SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/mailnames/DOMAIN.de
MAILDIR=$HOME/NORMALE_MAILADRESSE/Maildir/new
SPAM=$HOME/SPAM_MAILADRESSE/Maildir/new
LOGFILE=$HOME/mailserver/procmail.log
VERBOSE=off

:0
* ^X-Spam-Flag: YES
{
EXITCODE=99
:0 w:
# Das Ergebnis wird geloggt:
$SPAM
}

:0
{
EXITCODE=$?
HOST
}
Im procmail.log erscheinen die spamfreien Mails ohne Prozess, d.h. der Folder-Eintrag bleibt leer. Die Mail wird an die letzte Zeile der .qmail zurückgegeben ./Maildir/.

Kommentar von fraser (2007-08-27 19:47:35):
Eine Sache wäre noch anumerken:

In der Datei .qmail ist der Eintrag
./Maildir/
zu löschen, da die Mails sonst doppelt zugestellt werden.

Kommentar von Killerloop (2007-12-13 14:09:05):
Bei mir hat diese Konfiguration zum sporadischen Verlust von E-Mails geführt!

Besser wäre aus meiner Sicht:
MAILDIR=$HOME/Maildir

...

:0 w
$MAILDIR/


Oder gleich:
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
...
ohne dem letzten Recipe (bei dem ich das "w" übrigens nicht nachvollziehen kann)


Siehe auch diesen Thread:
http://serversupportforum.de/forum/mail/21516-procmail-vergibt-message-name-2fach-e-mails-gel-scht.html

VG
Killerloop

Kommentar von Robin (2008-01-06 20:47:58):
Hallo!
Ich habe genau nach dieser Anleitung den Spamschutz einrichten wollen, doch leider ohne Erfolg. Mein procmail will den Spam einfach nicht in den Spam-Ordner verschieben. Es kommt folgende Fehlermeldung:

procmail: Extraneous locallockfile ignored
procmail: Lock failure on "/var/qmail/mailnames/robindouglas.de/robin/Maildir/.spam/new.lock"
procmail: Error while writing to "/var/qmail/mailnames/robindouglas.de/robin/Maildir/.spam/new"

Kommentar von Bernhard (2009-05-26 07:53:03):
Hallo,

erstmal Dankeschön für das Tutorial!

Nach allen möglichen Versuchen, entweder kamen Mails doppelt an oder gar nicht oder nur Spam und der Rest nicht. Die Anleitung hat also nicht so ganz funktioniert bei mir. Außerdem bekam ich im Log immer Warnmeldungen. Dafür hat’s auf die Weise wie es hier beschrieben ist geklappt:http://www.talk-web.de/2008/02/04/roundcube-spam-sortieren/

Letztendlich meine Dateien:

.qmail:

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


.procmailrc:

SHELL=/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
HOME=/var/qmail/mailnames/DOMAIN/USER
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: spamassassin.filelock2
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*
/dev/null

:0 w
$MAILDIR


Vielleicht hilft es jemanden damit derjenige dann länger schlafen kann als ich ;-)

Kommentar von DaniFilth (2010-02-01 13:39:16):
Wer die Dateinamen in den Mailordnern im alten Format haben möchte (und nicht als msg.xx), muss statt
"MAILDIR=$HOME/Maildir/new"
nur
"MAILDIR=$HOME/Maildir/" (Slash am Ende nicht vergessen)
angeben. Procmail sortiert automatisch in den entsprechenden Ordner und erstellt wieder die Dateinamen mit dem Timestamp am Anfang, ID und dann Hostname, wie von Qmail gewöhnt.