SpamAssassin funktioniert mit Getmail nicht richtig ...

Status
Für weitere Antworten geschlossen.

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich mache hier mal ein Thema zu konkret einem Problem auf, da ich vermute nicht der einzige bin, der das Problem hat.
Sollte das Problem auf Synology zurückzuführen sein, werde ich das dort entsprechend melden.

Mein System:
  • DiskStation DS209+II
  • DSM 2.3 aktuelleste Version
  • MailStation aktuelleste Version (mit integriertem SpamAssassin)
Problem:
Mails werden nicht beim Eingang auf SPAM geprüft, sondern beim verschicken.

Kurzbeschreibung:
Wenn ich mir direkt von Strato oder GMX Mails mit dem Inhalt XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X schicke, sollte diese als ***SPAM*** deklariert werden. Werden Sie aber leider nicht. :mad: Schicke ich mir eine Mail mit diesem Inhalt an STRATO oder GMX kommen diese dort im Betreff als ***SPAM*** deklariert an.

Lösungsversuch:
  • Diskstation komplett resetet 2x 4 Sekunden Resetknopf.
  • aktuelle Firmware neu installiert
  • MailStation Paket neu installiert
  • IPKG in aktueller Version neu installiert
  • gemäss WIKI "Externe Accounts mit Getmail abrufen" eingerichtet mit den entsprechenden IPKG Pakten
  • also alles neu und frisch :)
Neueinrichtung, also Empfang und Versand funktionierte danach (nach fast 2 Stunden) wieder, aber die SPAM-Prüfung erfolgt trotzdem beim verschicken und nicht beim Eingang von Mails.

Ich sehe im Moment nur 2 mögliche Fehlerquellen:

1. Entweder stimmt im Mailstationpaket etwas nicht
oder was ich mittlerweile noch mehr vermute
2. die Einrichtung von Getmail verursacht in Verbindung mit dem integriertem SpamAssassin das Problem.

Ich erhalte auf meiner DS keine direkten Mails, sondern rufe nur mit Getmail meine ganzen Postfächer ab. Ich vermute, ich muss Getmail und/oder SpamAssassin noch irgendwie miteinanden verknüpfen?! Weiterhin verstehe ich aber trotzdem nicht ganz, warum Mails beim versenden auch geprüft werden. Was macht das für einen Sinn?

Ich stelle mir das ungefähr so vor:

Mein Ziel:
Mail beim Provider -> Getmail -> SpamAssassin -> Postfach


Meine vermutete aktuelle Konfiguration:
Mail beim Provider -> Getmail -> Postfach


sicherlich Synology´s Gedanke:
Maileingang an der DS -> SpamAssassin -> Postfach


Vielleicht könnte einer von Euch mal testen, der seine Mails auch mit Getmail abruft, ob die auf SPAM geprüft werden. Auch wäre es sicherlich interessant zu wissen, ob Eure Mails, die Ihr über die DS verschickt auch die "ge-SPAM-checkt" werden.

Vielleicht hat ja einer von Euch den Durchblick, wie ich GETMAIL und SPAMASSASSIN (in der neuen MailStation-Version) verkuppeln kann.

... nach erfolgreicher Klärung und Lösung passe ich später das WIKI gerne an.

Vielen Dank, viele Grüsse und Euch noch ein schönes restliches Osterfest
Hossi

PS: Natürlich bin ich auch für jeden weiteren Rat und Diskussion dankbar!! :cool:
 
Zuletzt bearbeitet:

Brian!

Benutzer
Mitglied seit
29. Mrz 2009
Beiträge
147
Punkte für Reaktionen
0
Punkte
0
So, hab das jetzt auch mal bei mir probiert (benutze sowohl die MailStation zum direkten Empfangen/Versenden von Mails sowie zum abholen der Maisl über GetMail von meinen externen Accounts):

Betreff: ASD
Mailtext: XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Gesendet an DS und externen Account mit folgendem Ergebnis: kamen beide als *****SPAM***** gekennzeichnet an, bei den externen Accounts auch direkt im SPAM Ordner.

Gesendet von externem Account an DS und an externen, von der DS abgeholten Account mit folgendem Ergebnis: Mail kam auf der DS als *****SPAM***** gekennzeichnet an und wurde von dem externen Account original, also ohne "*****SPAM*****" im Betreff, abgeholt.

Fazit:
SpamAssassin scheint bei mir zum empfangen und versenden von Mails direkt auf und von der DS zu funktionieren. Von externen Accounts über GetMail abgeholte Mails gehen aber auch bei mir offensichtlich nicht durch den SpamAssassin.
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Gesendet an DS und externen Account mit folgendem Ergebnis: kamen beide als *****SPAM***** gekennzeichnet an, bei den externen Accounts auch direkt im SPAM Ordner.

Gesendet von externem Account an DS und an externen, von der DS abgeholten Account mit folgendem Ergebnis: Mail kam auf der DS als *****SPAM***** gekennzeichnet an und wurde von dem externen Account original, also ohne "*****SPAM*****" im Betreff, abgeholt.

Hi,

cool + Danke!! :)

Da Deine von der DS an "extern" gesendeten Mails auch als *****SPAM***** gekennzeichnet werden, bestätigt sich wenigstens, dass die DS abgehende Mails auch über SpamAssassin schleusst und alles was über getmail geholt wird, läuft an SpamAssassin vorbei.

Naja, vielleicht hat ja noch einer einen Tip wie man sinnvollerweise getmail un SpamAssassin verknüpft und wo genau die Pfade sind.

Viele Grüsse
Hossi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Im Wiki steht doch wie man getmail und spamassassin gemeinsam an den Start bringen kann, oder?
Wie sieht denn der Eintrag für Spamassassin in deinem rc File aus (rc file für getmail)?
 

Brian!

Benutzer
Mitglied seit
29. Mrz 2009
Beiträge
147
Punkte für Reaktionen
0
Punkte
0
So gehts!

Im Wiki steht doch wie man getmail und spamassassin gemeinsam an den Start bringen kann, oder?
Wie sieht denn der Eintrag für Spamassassin in deinem rc File aus (rc file für getmail)?

Danke jahlives für die Erinnerung daran! :)

Hab das ganze nun nach der Anleitung im Wiki mal mit dem Synology eigenen SpamAssassin probiert und es funktioniert! Mails die von der DS von externen Accounts abgeholt werden gehen nun auch durch den SpamAssassin. :cool:

Hierzu musste (bei mir) nur folgendes gemacht werden:
an das Ende der unter /volume1/homes/[user]/.getmail/[account].rc angelegten Dateien wird folgendes angehängt:
Rich (BBCode):
[filter-spamassassin]
type = Filter_external
path = /usr/syno/mailstation/bin/spamc
allow_root_commands = true
arguments = ()

Und (so wie im Wiki beschrieben) im Ordner /volume1/homes/[user]/ muss der Ordner .spamassassin mit den Rechten des entsprechenden Users angelegt werden. Ich habe das (ohne su) wie folgt gemacht:
Rich (BBCode):
mkdir /volume1/homes/[user]/.spamassassin
chown [user]:users /volume1/homes/[user]/.spamassassin

Um Verwirrungen zu vermeiden steht [user] natürlich jeweils für den entsprechenden User Account der DS/MailStation, beim admin wäre das dann zum Beispiel:
Rich (BBCode):
mkdir /volume1/homes/admin/.spamassassin
chown admin:users /volume1/homes/admin/.spamassassin

Wen es interessiert hier nun noch zur Erklärung warum ich entgegen des Beitrages im Wiki die Argumente für den spamc in der .rc Datei weggelassen habe (wahrscheinlich kann arguments = () komplett weggelassen werden, ich hab es für mich aber mal drin gelassen, falls ich doch mal noch ein paar Argumente anpassen möchte):

  • "-s 250000" - Begrenzt die Mails für den SpamAssassin auf 250.000 Bytes, standardmäßig sind es 500k, wo ich nichts dagegen habe.
  • "-p 783" - Steht für den Port über welchem mit spamd kommuniziert werden soll, 783 ist der Standard Port, der wird also auch verwendet wenn man nix angibt (und bei mir funktioniert es auch ohne eine Angabe).
  • "-u [user]" - Legt Fest unter welchem Benutzter spamd die Mails prüfen soll, ohne eine Angabe wird der Nutzer genommen der den Prozess aufgerufen hat - wenn alles wie im Wiki beschrieben eingerichtet wurde werden die Mails sowieso vom cronjob mit dem entsprechenden User ausgeführt.

Mit dieser Konfiguration scheint es jetzt (jedenfalls bei mir) zu laufen (und das auch ohne Fehler- oder Warnmeldungen)! :D
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi Brian!,

Danke für die detaillierte Anleitung. :D

Nun funktioniert mein Spamassassin auch mit den von getmail abgeholten eMails. Super! Nochmal Danke!! :D

Also scheint es normal zu sein, dass Spamassassin auch abgehende Mails "checkt", oder? :confused:

Viele Grüsse und bunte Eier
Hossi

PS: Was gibst Du ein, um ein automatisches Regelupdate zu machen?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also scheint es normal zu sein, dass Spamassassin auch abgehende Mails "checkt", oder? :confused:
Das hängt von deiner Config ab. Du kannst postfix auch so einrichten, dass SA für ausgehende E-Mails nicht verwendet wird. So habe ich das bei mir gemacht. Letztendlich musst du "einfach" die Ports trennen: Port 25 für eingehende E-Mails und irgendein anderer freier Port zum Versenden von E-Mails der lokalen Clients. Für die Clients bietet sich z.B. der Submission Port (587) an
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo auch hier :)

ich will ja wirklich nicht nerven... aber was muss ich tun? :eek:

D.h., ich stelle in bspw. Thunderbird als SMTP-Server die IP der DiskStation ein und den Port auf 587 anstelle von Port 25.

Das wars? :confused:

Aktuell habe ich in der main.cf unter /usr/syno/mailstation/etc als relayhost meinen Strato SMTP Server eingetragen:

# selfhost
relayhost = [smtp.strato.de]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/usr/syno/mailstation/etc/smtp_auth
smtp_sasl_security_options = noanonymous

smtp_use_tls = yes
smtp_enforce_tls = yes
smtp_tls_enforce_peername = no

myhostname = xxx
smtpd_sasl_auth_enable = yes


Oder hat das damit nichts zu tun? :confused:

ManManMan ist das alles kompliziert.

Und auch hier nochmal recht herzlichen Dank für Deine Unterstützung.

Viele Grüsse
Hossi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Du musst dir mal die master.cf unter /usr/syno/mailstation/etc anschauen. Dort drin wird der Server uns seine Dienste konfiguriert. Mach unbedingt ein Backup dieser Datei BEVOR du dran rumhantierst.
Es müsste dort drin einen Eintrag geben, der auf spamfilter verweist. Der könnte so ausschauen
Code:
smtp      inet    n       -       n       -       -       smtpd
 -o content_filter=spamfilter:dummy
Damit jetzt der Spamfilter nur auf dem Port 25 läuft, kannst du den Eintrag so abändern
Code:
192.168.100.102:25      inet    n       -       n       -       -       smtpd
 -o content_filter=spamfilter:dummy
die IP natürlich an deine Gegebenheiten anpassen
WICHTIG:
In der ersten Zeile eines Dienstes müssen die Abstände immer TABS sein!! Die zweite Zeile (und jede folgende Zeile eines Dienstes) muss immer mit einem Leerzeichen eingeleitet werden. Ausserdem müssen die Abstände normale Leerzeichen sein.
Für den Submission Port könnte der Eintrag z.B. so ausschauen
Code:
submission      inet    n       -       n       -       -       smtpd
 -o receive_override_options=no_header_body_checks
 -o smtpd_etrn_restrictions=reject
 -o smtpd_sasl_type=dovecot
 -o smtpd_sasl_path=private/auth
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_reject_unlisted_sender=yes
 -o smtpd_sender_restrictions=reject_unknown_address,reject_unknown_sender_domain
 -o smtpd_recipient_restrictions=reject_unknown_recipient_domain,permit_sasl_authenticated,reject
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi nochmal,

Danke es funktioniert! :D

Wie von Dir beschrieben habe ich in der master.cf unter /usr/syno/mailstation/etc das submission aktiviert, indem ich das # davor weggenommen habe, da der Submission Port per default deaktiviert ist.

Trage ich jetzt in bswp. Thunderbird Port 587 ein, erfolgt keine SPAM Prüfung beim verschicken, bei Port 25 erfolgt allerdings eine SPAM Prüfung beim verschicken, wie von Synology geplant.

Vielen Dank und viele Grüsse
Hossi
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Hallo,

habe nach Brians Anleitung Spamassasin erstellt.

Nun bekomme ich in /var/log/messages folgenden Fehler:


Apr 5 19:25:30 spamc[29951]: connect to spamd on 127.0.0.1 failed, retrying (#3 of 3): Connection refused
 
Zuletzt bearbeitet:

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi,

sicher, das Du das neue MailStation-Paket installiert hast und auch die Option "Spamassassin" unter MailStation aktiviert hast?

Gruß
Hossi
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Habe in meiner *.rc file die von Brian beschriebenen Zeilen angelegt, dann das verzeichnis erstellt und mir die Rechte gegeben!

Schaue ich in den Spamassasin-Ordner so ist dieser leer!
 

Brian!

Benutzer
Mitglied seit
29. Mrz 2009
Beiträge
147
Punkte für Reaktionen
0
Punkte
0
Hallo,

habe nach Brians Anleitung Spamassasin erstellt.

Nun bekomme ich in /var/log/messages folgenden Fehler:


Apr 5 19:25:30 spamc[29951]: connect to spamd on 127.0.0.1 failed, retrying (#3 of 3): Connection refused

Hallo Hawk,

also zuerst könntest du mal mit ps | grep spamd nachschauen, ob der spamd überhaupt gestartet ist.

Wenn spamd gestartet ist würde ich mal in den Logs vom Getmail nachschauen (falls du dort noch ein Log eingerichtet hast, bei mir ist das /volume1/homes/[user]/.getmail/log) ob da noch nähere Informationen zu dem Problem zu finden sind.

Könnte vielleicht ein Problem mit dem Port vom spamd sein (Standardmäßig ist das der Port 783).

Grüße,
Brian
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi,

dann müsste Dein File in etwa so:

[options]
delete = true
message_log = ~/.getmail/log

[retriever]
type = SimplePOP3SSLRetriever
server = pop3.web.de
username = Paul@web.de
password = strenggeheim

[destination]
type = Maildir
path = ~/.Maildir/
user = Paul

[filter-spamassassin]
type = Filter_external
path = /usr/syno/mailstation/bin/spamc
allow_root_commands = true


aussehen, oder?

Die Mails laden aber auch nicht im .spamassassin Ordner, sondern weiterhin im .Maildir Ordner.

D.h., Du hast unter /volume1/homes/DeinUser/ folgende 3 Ordner:

.spamassassin
.getmail
.Maildir

Die Rechte hast Du entsprechend Deinem Mail-User angepasst?

Gruß
Hossi
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Also bei der Eingabe von ps | grep spamd kommt:

19768 root 320 R grep spamd

Im log-File kann ich leider nichts erkennen, was auf den Fehler hindeutet.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hast du mal probiert den spamd manuell zu starten? Unter /usr/syno/etc.defaults/rc.d sollte es ein Startscript für den spamd geben. Ruf das mal manuell mit dem Parameter start auf. Irgendwelche Fehler auf der Konsole?
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Rufe ich dass so auf:

spamd start
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Rufe ich dass so auf:

spamd start
War das ne Frage? ;)
Wie heisst denn die Datei, die bei dir spamassassin startet? Ich habe bei mir die Mailstation nicht installiert und verwende spamassassin von ipkg drum passen meine Pfade bei dir nicht
Mach mal ein
Code:
ls /usr/syno/etc.defaults/rc.d/ | grep spam
das sollte den Namen der Datei anzeigen
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat