[Postfixbuch-users] Re: Endlosschleife beim MDA maildrop?
Thilo Engelbracht
info at engelbracht.de
Mo Nov 29 19:06:17 CET 2004
Am 29.11.2004 um 16:12 Uhr schrieb Ralf Hildebrandt:
> * Thilo Engelbracht <info at engelbracht.de>:
> > Hallo Liste!
> >
> > Auf meinem Server setze ich den MDA maildrop ein.
>
> Ich jetzt auch
>
> > Jeder lokale Benutzer hat eine individuelle "~/.mailfilter". Hier können
> > die E-Mails in verschiedene IMAP-Ordner einsortiert werden.
>
> Jo
>
> > Zusätzlich existiert eine Datei mit globalen Filterregeln. In diesem
> > File ("/etc/maildroprc") sind u.a. folgende Zeilen enthalten:
>
> Jo
>
> Wie hier.
>
> > if (/^x-spam-status: yes/)
>
> Besser: if (/^x-spam-status: yes/:h)
>
> > {
> > xfilter "/usr/bin/spamassassin --remove-markup"
> > }
>
> ??? Warum das?
> OK, aber egal. markup entfernen.
>
> > # Alle E-Mails pruefen, die kleiner als 500 kB sind
> >
> > if ( $SIZE < 500000 )
> > {
> > xfilter "/usr/bin/spamc"
> > }
>
> Wenn klein, dann an spamc
>
> > # Alle Nachrichten, die als SPAM erkannt wurden, werden an den
> > # Benutzer "spam" weitergeleitet.
> >
> > if (/^x-spam-status: yes/)
> > {
> > to "!spam at hostname.domainname.tld"
> > exit
> > }
>
> Wenn spamc sagt es sei spam, dann weiterleiten und finito
>
> > Nun meine Frage:
> > Wenn der User "thilo" eine SPAM-Mail empfängt, dann wird diese an den
> > Benutzer "spam" weitergeleitet. Allerdings wird auch bei dem Benutzer
> > "spam" die Datei mit den globalen Filterregeln abgearbeitet.
>
> Dann stell das doch ab :)
> if ($USER=="spam") ...
Hallo Ralf,
vielen Dank für Deine Antworten.
Gerade habe ich folgendes versucht:
if ($USER=="spam")
{
...
}
Leider hat das so nicht funktioniert... Dann habe ich die von Dir
empfohlenen Manpages studiert und folgendes herausgefunden:
1.) Die Variable $USER wird in der Manpage nicht behandelt. Kann es
sein, dass diese Variable gar nicht ausgewertet wird?
2.) Laut der Manpage handelt es sich bei "==" um einen numerischen
Vergleich, ähnlich wie "<", "<=", ">", ">=", "!=".
Für einen Textvergleich werden u.a. "eq" (für "equal"?) und
"ne" (für "not equal"?) verwendet.
Mit folgenden Zeilen habe ich mein Ziel erreicht:
if ($HOME ne "/home/spam")
{
...
...
...
}
Die Punkte symbolisieren die "normalen" Anweisungen aus meiner ersten
E-Mail.
Jetzt wollte ich (Newbie!) aber noch einmal nachfragen:
Stimmt das so? Oder bin ich - wie man so schön sagt - auf dem Holzweg?
Vielen Dank für Deine Mühe und Deine schnellen Antworten!
Gruß,
Thilo
Mehr Informationen über die Mailingliste Postfixbuch-users