PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qmail msg filter



Kartoffel
25.09.07, 12:38
Hi alle,

ich benutze qmail mit spamassassin.
Gibt es irgend eine möglichkeit die als spam erkannten emails in einem andrern ordner als dem posteingang zu speichern? z.b. im ordner spam.
Ich weiss, dass jeder benutzer eigene message filter definieren kann, aber das ist nicht das was ich will. Alle mails sollen in einem spam ordner gelangen, damit die user nicht alle spamnachrichten mit ihrem mailclient vom server abrufen müssen.

derRichard
25.09.07, 17:22
hallo!

so kann dir keiner helfen.
du hast ja nichmal gesagt, wo du filterst.

mit maildrop kannst du mails beim ablegen ins maildir filtern.
das sollte das sein, was du willst.

hth,
//richard

Kartoffel
26.09.07, 11:39
ok werd ich mal versuchen :)....

nur nochmal zum verständnis:
die mails die per smtp ankommen werden zuest durch den spamassissin geschleust. Wird die mail als spam erkannst bekommt sie einen hinweis im subject und ein flag im header. Ich will, dass diese mails dann nicht in den posteingang des benutzers gelangen, sondern in einen anderen ordner, z.b. SPAM-Ordner. Diese mails werden dann nicht abgerufen, wenn der user per pop seine mails holt. Erst wenn er sich per webmail einliggt kann er seinen spamordner einsehen.

Kartoffel
26.09.07, 13:52
Ich habs anders gelöst. Hier meine lösung für alle, die das gleiche vorhaben wie ich:

Ich benutze qmail mit virtuellen mailbenutzern, d.h. alle meine mailaccounts liegen in /var/qmail/mailnames/<domain>/<account>.
In jedem account verzeichnis gibt es eine .qmail datei.
Ich habe weiterhin eine .qmail-spam datei erstellt, die folgendes enthält:



./Maildir/.Spam/


damit sagt man qmail, dass alle mails ins spam verzeichnis der mailbox kommen. !!!Das Verzeichnis muss vorher erstellt werden!!!!!!

Damit qmail weiss, wann es die .qmail-spam benutzen soll, hab ich die .qmail angepasst:



| if grep "^Subject: \*\*\*SPAM("; then /var/qmail/bin/qmail-local "$USER" "$HOME" "$LOCAL" "-" "spam" "$HOST" "$SENDER" "$DEFAULT" | false;fi;
./Maildir/


Sobald eine mail mit ***SPAM im betreff ankommt, wird diese mit qmail-local
quasi weitergeleitet, aber so, dass eben dann die .qmail-spam benutzt wird
(Das erreicht man durch die argumente "$LOCAL" "-" "spam").
Durch das "false" am ende hört qmail dann auf die .qmail weiter zu lesen. Ist kein ***SPAM im betreff wird das "false" übersprungen und die mail wird normal ins Maildir geliefert....
Und ja, die lösung mit dem ***SPAM im betreff ist quick and dirty... besser ist es nach dem Spam-Flag im mailheader zu suchen. Kann jeder machen wie er will :).

derRichard
26.09.07, 14:03
hallo!

verwendest du kein vpopmail oder vmailmgr?

schau mal auf qmail.org, dort gibt es solche filtertools gegen header zu filtern.
die methode mit grep ist overkill.
wenn dein server viel zu tun hat (echt viel), dann bremst grep.

hth,
//richard

Kartoffel
26.09.07, 15:24
Jo ich weiss, dass das ne holzhacker methode is :).
Mir gefällt das so auch noch nicht, ich werd mir da n kleines perl script dazu schreiben und gut is :). Der rest funzt so einwandfrei.