[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Spamfilterung nicht mit SA



Hallo Andreas,

Andreas Pakulat <apaku@gmx.de> wrote:
> On 25.04.07 12:30:34, Gerhard Brauer wrote:
>> @Andreas: Link habe ich keine (außer halt Suche bei $Suchmaschien). Aber
>> soweit ich mich an meine bogofilter-Config noch erinnern kann schickst
>> du die Mail z.B. beim maildrop/procmail ganz normal über eine Pipe an
>> bogofilter und wertest dann entweder Rückgabewert oder Mail-Header aus.
>> Also wie beim sa auch.
>
> Nee, eben nicht. Mit sa-exim laeuft der SA innerhalb von exim, so kann
> ich (wenn ich denn irgendwann mal Zeit habe) den Exim benutzen um
> Spammails abzulehnen oder nach /dev/null zu schicken. Derart moechte ich
> den bogofilter auch in Exim einbinden.

Das geht nicht. Der Vorteil an dem SA‐Modul ist, dass Exim den SA (schon
im SMTP‐Dialog) mal was fragen kann und dann darauf reagieren kann. Das
geht mit Bogofilter (und allen andern Spamfiltern nicht.)

Mein Lösung: Eine systemweite Filterdatei anlegen und da die E‐Mails das
erste Mal durch bogofilter jagen und beim zweiten Mal die Header
auswerten. Ja, alle E‐Mails laufen zweimal durch Exim.

#  Exim filter   <<== do not edit or remove this line!

if $received_protocol is local-bsmtp then
  # All mails coming from uucp

  # mails with more than 10 recipients become droped, because we don't have so
  # many users they can receive this mail
  # or if one of the recipents address looks like a meesage id of slrn
  # -- it's spam

  if $recipients_count is above 10 or
     foranyaddress $recipients ($thisaddress matches ^slrn[^@]*\.joerg@) then

    save /var/local/spamfilter/spam

    # mark the mail as handled (exim stops processing here), i.e. drop the mail
    seen finish
  endif

  pipe "/bin/sh -c \"bogofilter -e -p | /usr/sbin/exim4 -oMr local-spamfilter \
     -f ${quote:$sender_address} ${quote:$recipients}\""

elif $received_protocol is local-spamfilter then
  if $header_x-bogosity: begins spam then
    save /var/local/spamfilter/spam
    finish
  endif

  unseen save /var/local/spamfilter/ham
endif

In die exim4.conf musst Du noch das eintragen:
system_filter = /etc/exim4/system.filter
system_filter_user = mail
system_filter_group = mail
system_filter_pipe_transport = address_pipe
system_filter_file_transport = address_file

Die Erkennungsrate kann ich jetzt nicht mit Zahlen belegen, aber von der
Beobachtung her, würde ich sagen, dass ich alle 14 Tage einen nicht
erkannten Spam habe, das sind dann 1/2500, und den letzten falsch
erkannten Ham hatte ich im Dezember, also 1/(3*4*1200).

Noch ein Tipp, verwende bogominitrain.pl aus /u/s/d/bogo/examples/contrib
zum Lernen.

Schöne Grüße, Jörg.
-- 
Je planmäßiger ein Mensch vorgeht,
desto stärker mag ihn der Zufall treffen.
		    Erich Krunau ‚Die Physiker‘



Reply to: