ich habe nun bei mir den Spamassassin installiert und die läuft nun als Perl-Modul unter Postfix.
Emails werden auch gefiltert, nur leider nicht nach den in der local.cf festgelegten Einstellungen.
Laut meiner Config müsste SPAM mit folgendem Header "###Als SPAM erkannt!###" markiert werden
nur bei mir gibt es die Standartänderung "*****SPAM*****".
Hier mal meine local.cf:
Code: Select all
# How many hits before a message is considered spam.
required_score 7.5
# Change the subject of suspected spam
rewrite_header subject ****Als SPAM erkannt!****
# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe 1
# Enable the Bayes system
use_bayes 1
# Enable Bayes auto-learning
bayes_auto_learn 1
# Enable or disable network checks
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1
# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - english german
ok_languages en de
# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales de
Code: Select all
.
.
.spamchk unix - n n - 10 pipe
flags=Rq user=filter argv=/var/kunden/mail/filter/spamchk -f ${sender} -- ${recipient}
.
.
.
smtp inet n - n - - smtpd
-o content_filter=spamchk:dummy
Code: Select all
#!/bin/sh
SENDMAIL="/usr/sbin/sendmail -i"
EGREP=/bin/egrep
EX_UNAVAILABLE=69
# (SPAMLIMIT 5.5 = "*****" )
SPAMLIMIT=7
# Aufräumen im Fehlerfall oder bei Abbruch
trap "rm -f /var/kunden/mail/filter/tempfs/out.$$" 0 1 2 3 15
# Via Pipe wird die Mail an spamc übergeben
cat | /usr/bin/spamc -u filter > /var/kunden/mail/filter/tempfs/out.$$
# Spamlimit checken
if $EGREP -q "^X-Spam-Level: *{$SPAMLIMIT,}" < /var/kunden/mail/filter/tempfs/out.$$
then
# Lernvorgang f. SPAM
/usr/bin/sa-learn -u filter --spam /var/kunden/mail/filter/tempfs/out.$$
# Alternativ kann man hier auch die Nachricht löschen
# rm -f /var/kunden/mail/filter/tempfs/out.$$
# oder beliebige andere Aktionen durchführen.
else
# Lernvorgang f. HAM
/usr/bin/sa-learn -u filter --ham /var/kunden/mail/filter/tempfs/out.$$
# Alternativ kann man die sendmail-Anweisung (siehe unten) hier her
# kopieren und nur zustellen, wenn sie nicht als Spam erkannt wurde.
fi
# Sende E-Mail in jedem Fall an Empfänger.
# Wenn der E-Mail-Client so konfiguriert ist, dass er die Kopfzeilen von
# Spamassassin erkennt, wird er die E-Mail in den Junk-Ordner verschieben,
# wenn sie als Spam eingestuft wurde.
$SENDMAIL "$@" < /var/kunden/mail/filter/tempfs/out.$$
# Temporäre Datei wieder löschen
rm -f /var/kunden/mail/filter/tempfs/out.$$
# Jetzt noch den sendmail exit status zurückgeben
exit $?
Gruß
Timo