[Tutorial] SpamAssassin unter SuSE 9.3 mit Postfix installieren

djrick

Registered User
Hallo,

Nachdem ich mich jetzt 3 Tage lang mit Spamassassin rumgeschlagen hab und kein funktionierendes HowTo gefunden habe und ich die Hoffnung schon fast aufgegeben habe, habe ich es nun doch geschafft. Deswegen poste ich hier mal ein kleines Howto, denn am Ende muss ich sagen: So schwer ist es gar nicht :)

Vorraussetzungen:
  • SpamAssassin muss installiert sein
  • perl-SpamAssassin muss installiert sein
  • Postfix muss installiert und gestartet sein
Ich steze in diesem Howto vorraus dass Postfix bereits installiert und konfiguriert ist und seinen gewohnten Gang OHNE Spam-Scanning nachgeht.
Sollte SpamAssassin noch nicht installiert sein, kann man das unter SuSE sehr schnell nachholen:
Code:
yast -i perl-spamassassin spamassassin
Oder eben ganz normal über die Yast Oberfläche.

Nun ist SpamAssassin installiert. Jetzt muss SpamAssassin nur noch konfiguriert werden und Postfix muss beigebracht werden, dass er mit SpamAssassin zusammen arbeiten soll.

Letzteres als erstes:
Als benutzer Root, erstellen wir eine Datei:
Code:
/usr/bin/postfixfilter
mit folgendem Inhalt:
Code:
#!/bin/bash
/usr/bin/spamc | /usr/sbin/sendmail -i "$@"
exit $?
Nun machen wir die Datei noch ausführbar:
Code:
chmod 755 /usr/bin/postfixfilter
Nun legen wir noch einen Benutzer namens 'spamfilter' an:
Code:
useradd -d /home/spamfilter -s /bin/bash filter
Jetzt geben wir der eben erstellten Datei noch die Benutzerrechte unseres neuen Benutzers:
Code:
chown filter /usr/bin/postfixfilter

Soweit so gut. Nun kommt die Einbindung in Postfix.
Dazu öffnen wir die Datei: /etc/postfix/master.cf
Unter dieser Zeile(sehr weit oben):
Code:
smtp      inet  n       -       n       -       -       smtpd
Fügen wir folgendes ein:
Code:
 -o content_filter=spamfilter:
Also sieht unsere master.cf am Ende so aus:
Code:
smtp      inet  n       -       n       -       -       smtpd
         -o content_filter=spamfilter:
Nun scrollen wir in der Datei etwas nach unten in die Sektion: "Interfaces to non-Postfix software."
Dort fügen wir folgende Zeilen ein:
Code:
spamfilter unix -       n       n       -       -       pipe
  flags=Rq user=filter argv=/usr/bin/postfixfilter -f ${sender} -- ${recipient}

So nun ist es an der Zeit Postfix neuzustarten:
Code:
postfix reload

Nun konfigurieren wir zum Schluss noch SpamAssassin nach unseren eigenen Vorstellungen. Dazu öffnen wir die Datei: /etc/mail/spamassassin/local.cf

Hier ist ein Beispiel von meiner Konfiguration (very simple):
Code:
# do not change the subject
# to change the subject, e.g. use
# rewrite_header Subject ****SPAM(_SCORE_)****
rewrite_header Subject ****SPAM(_SCORE_)****

# Set the score required before a mail is considered spam.
# required_score 5.00
required_score 5.00
# uncomment, if you do not want spamassassin to create a new message
# in case of detecting spam
# report_safe 0

Nun starten wir noch den Spam-Service:
Code:
/etc/init.d/spamd start

FERTIG!
Eure Mails sollten nun im Header um die Spam-Header-Einträge reicher sein:
Code:
X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on 
	domain.de
X-Spam-Level: 
X-Spam-Status: No, score=0.6 required=5.0 tests=AWL,HTML_90_100,HTML_MESSAGE 
	autolearn=no version=3.1.3
 
Last edited by a moderator:
Hallo,

wenn ich das so mache bekomme ich folgenden Fehler in der Logdatei angezeigt:

Code:
postfix/master[3375]: fatal: /etc/postfix/master.cf: line 19: bad transport type: content_filter=spamfilter:

Ich habe einen V-Server mit Suse 11.1.

Was läuft da falsch?


LG Sven
 
Hallo,

ich habe es jetzt hinbekommen.

Hatte das falsch in die Datei geschrieben :

Code:
smtp      inet  n       -       n       -       -       smtpd
         -o content_filter=spamfilter:


LG Sven
 
SpamAssassin unter SuSE 11.1 mit Postfix installieren

Liebe Foren Gemeinde,

einen großen Dank für dieses Tutorial das tatsächlich funktioniert wenn die Vorraussetzungen die gleichen sind. Doch leider ist dieses hier ein wenig älter und die Versionen ändern sich fortlaufend. So kommt es das bei mir die master.cf einen anderen Wert in sich trägt und nicht so recht funktionieren will.

Ich nutze SuSE 11.1 mit Postfix und Plesk 9.5

Als ich den nachfolgenden Eintrag in der master.cf suchte:
Code:
smtp      inet  n       -       n       -       -       smtpd

fand ich anstelle dessen folgenden Eintrag vor:
Code:
smtp      inet  n       -       -       -       -       smtpd -o smtpd_proxy_filter=127.0.0.1:10025



Ok dachte ich, dann muss ich wohl den ergänzenden Eintrag unter den vorhandenen setzen damit es wie folgt ausssieht:

Code:
smtp      inet  n       -       -       -       -       smtpd -o smtpd_proxy_filter=127.0.0.1:10025
	-o content_filter=spamfilter:


Doch mit dieser Einstellung funktioniert der Spamfilter nicht! Der Mailserver funktioniert aber im Header steht nicht das drinn was stehen sollte und eine von mir gesandte Spam Mail wird als solches nicht erkannt.

Ich bin dann bei und habe die master.cf dahingehend abgeändert das der gesuchte Eintrag übereinstimmt und diesmal funktioniert der Spam Filter und meine Mail erhält einen Spam Status.

Problem dabei ist das mit einem externen Mail Programm kein Mail versand mehr möglich ist. Der Empfang funktioniert nach wie vor.


Vielleicht so meine Hoffnung ist hier jemand bei der das Problem bereits lösen konnte und sage schon mal ein danke schön.

Grüße
Peavey
 
Back
Top