sa-learn per Email füttern

Da $fh i.d.R. einen FileHandler benennt, tippe ich mal auf Zugriffsprobleme oder fehlerhafte Dateien. Und da der Fehler im MIME::Parser::Reader auftaucht, würde ich sagen, daß er Probleme hat, die Datei zu schreiben.

Ausserdem denke ich, daß er in dieser Zeile aus dem Programm aussteigt:
$entity = $parser->parse(\*STDIN);

Und daher liegt meine Vermutung: Er kann auf das $UNPACK_DIR nicht schreiben.

Prüfe ob es vorhanden ist und entsprechende Rechte hat.
Wenn Du die Transport-Lösung genommen hast, dann hast Du dort ja auch den User vscan:vscan für den Aufruf eingestellt. Das paßt nicht zu den Rechten, die im Howto an die ganzen Logfiles und das Unpack-Dir vergeben werden.

huschi.
 
FERTIG :D

Neue Wrapper und es klappt wunderbar!
Vielen Dank für die große Unterstützung

PS: Musste die Überprüfung auskommentieren mit dem DOMAINS, weil egal welche Domain(s) ich eintrug er immer sagte dass er die nicht kennen würde.
 
Verbesserungsvorschlag:
Nun hab ich das AntiSpamSystem sehr erfolgreich im Einsatz. Allerdings wurde von einigen Usern folgendes bemängelt:
Kriegt man 10 Spammails, muss man 10 Mails an spam@domain.de senden. Einfacherer wäre es wenn man in einer Mail einfach die 10 Mails anhängen kann. Dann wäre die Sache sehr schnell vom Tisch. Ist das irgendwie möglich? Ich habs mals ausprobiert, er nimmt bei mir immer nur einen Anhang.
 
Einfacherer wäre es wenn man in einer Mail einfach die 10 Mails anhängen kann.
Theoretisch übernimmt dies bereits diese Zeile im Script, welche eine Rekursion startet:
map { recurs($_) } @parts;

Wenn es das nicht richtig macht, muß man halt an der Stelle nachforschen.
Vorallem solltest Du nachsehen, ob Du die richtige Art an "Weiterleiten" nutzt.
(Immer als Anhang.) Und wie Du die anderen Spam-Mails dran hängst. (Ich ziehe sie in den Anhang-Bereich.)

huschi.
 
Wenn es das nicht richtig macht, muß man halt an der Stelle nachforschen.
Vorallem solltest Du nachsehen, ob Du die richtige Art an "Weiterleiten" nutzt.
(Immer als Anhang.) Und wie Du die anderen Spam-Mails dran hängst. (Ich ziehe sie in den Anhang-Bereich.)

Ich hoffe dass ich das richtig sehe, wenn ich eine Mail mit 3 Spammails im Anhang schicke dann bekomme ich im Log Folgende Ausgabe:
Code:
Learned tokens from 1 message(s) (1 message(s) examined)
Daraus folgere ich: 1 Anhang lediglich bearbeitet?!

Ich nutze die richtige Art (Als Anlage weiterleiten)....Offtopic: Das hat ganz schön lang gedauert bis ich bei Outlook die Funktion herausgefunden hatte (Drag und Drop), bei Outlook Express gibts ja die schöne Funktion "Als Anlage(n) weiterleiten"
 
wenn ich eine Mail mit 3 Spammails im Anhang schicke dann bekomme ich im Log Folgende Ausgabe:
Kommentier mal folgende Zeile im sa-wrapper.pl aus und probier es dann nochmal:
unlink "/tmp/spam.log.$$" if -e "/tmp/spam.log.$$";

PS & OT: Warum benutzt ein Mann von Welt Outlook Express?

huschi.
 
Ich raff es absolut nicht...

Ich bin vorgegangen gemäß deiner Anleitung, habe aber wie bei einem anderen Posting keinerlei Funktion.

ps aus |grep procmail gibt nichts aus. Kann es sein, das der gar nicht installiert ist? Wie richte ich den richtig ein?

Eine master.cf -von der hier schon mal öfter die Rede ist, hab ich noch nirgends gefunden.

-------------
Plesk 8.0
qmail
spamassassin
sa-learn
 
a) Du hast bereits einen eigenen Thread mit Deinem SA-Problem eröffnet.
Bleib also auch dort.

habe aber wie bei einem anderen Posting keinerlei Funktion.
b) Das ist keine Fehlerbeschreibung. Daher keine Antwort möglich.

ps aus |grep procmail gibt nichts aus.
c) Muß auch nicht.

Eine master.cf -von der hier schon mal öfter die Rede ist, hab ich noch nirgends gefunden.
d) Gibt es auch nur bei Postfix. Du hast mit Plesk Qmail. Wie man dort vorgeht steht ebenfalls auf huschi.net:
Plesk/qmail: Email-Adress an ein Server-Script knüpfen

huschi.
 
hi,

ich habe nun alle seiten (hoffentlich) aufmerksam verfolgt.

habe hushis anleitung befolgt und nachgemacht. habe auch die neue sa-wrap.pl datei genommen.
danach postfix und sa neustarten lassen und jeweils 3 mail zur spam adresse geschickt und 3 mail zur ham adresse.
jedoch erscheint nichts in den log dateien. also die größe der log dateien bleibt 0!

habe aber im mail log anscheinend auch ein paar fehlermeldung die ich nicht so recht zu lösen weiß....

hier ein auszug aus dem log:

Code:
Sep 18 21:41:30 servername imapd-ssl: Failed to create cache file: maildirwatch (web1p1)
Sep 18 21:41:30 servername imapd-ssl: Error: Input/output error
Sep 18 21:41:30 servername imapd-ssl: Check for proper operation and configuration
Sep 18 21:41:30 servername imapd-ssl: of the File Access Monitor daemon (famd).
Sep 18 21:42:09 servername postfix/smtpd[30529]: warning: 88.134.xx.xx: hostname 88-134-xx-xx-dynip.superkabel.de verification failed: Name or service not known
Sep 18 21:42:09 servername postfix/smtpd[30529]: connect from unknown[88.134.30.3]
Sep 18 21:42:09 servername postfix/smtpd[30529]: 8E49C8C041F: client=unknown[88.134.xx.xx], sasl_method=PLAIN, sasl_username=web1p1
Sep 18 21:42:09 servername postfix/cleanup[30534]: 8E49C8C041F: message-id=<003401c6db5a$87b60370$97220a50$@tld>
Sep 18 21:42:09 servername postfix/qmgr[30459]: 8E49C8C041F: from=<thomas@domain.tld>, size=4407, nrcpt=1 (queue active)
Sep 18 21:42:09 servername spamd[30363]: spamd: connection from localhost [127.0.0.1] at port 23851 
Sep 18 21:42:09 servername spamd[30363]: spamd: setuid to filter succeeded 
Sep 18 21:42:09 servername spamd[30363]: spamd: creating default_prefs: /home/spamfilter/.spamassassin/user_prefs 
Sep 18 21:42:09 servername spamd[30363]: mkdir /home/spamfilter: Keine Berechtigung at /usr/lib/perl5/vendor_perl/5.8.6/Mail/SpamAssassin.pm line 1486 
Sep 18 21:42:09 servername spamd[30363]: config: cannot write to /home/spamfilter/.spamassassin/user_prefs: Datei oder Verzeichnis nicht gefunden 
Sep 18 21:42:09 servername spamd[30363]: spamd: failed to create readable default_prefs: /home/spamfilter/.spamassassin/user_prefs 
Sep 18 21:42:09 servername spamd[30363]: spamd: processing message <003401c6db5a$87b60370$97220a50$@tld> for filter:65002 
Sep 18 21:42:09 servername spamd[30363]: mkdir /home/spamfilter: Keine Berechtigung at /usr/lib/perl5/vendor_perl/5.8.6/Mail/SpamAssassin.pm line 1486 
Sep 18 21:42:09 servername spamd[30363]: locker: safe_lock: cannot create tmp lockfile /home/spamfilter/.spamassassin/auto-whitelist.lock.servername.server4you.de.30363 for /home/spamfilter/.spamassassin/auto-whitelist.lock: Datei oder Verzeichnis nicht gefunden 
Sep 18 21:42:10 servername spamd[30363]: auto-whitelist: open of auto-whitelist file failed: locker: safe_lock: cannot create tmp lockfile /home/spamfilter/.spamassassin/auto-whitelist.lock.servername.server4you.de.30363 for /home/spamfilter/.spamassassin/auto-whitelist.lock: Datei oder Verzeichnis nicht gefunden 
Sep 18 21:42:10 servername spamd[30363]: spamd: clean message (-94.9/5.0) for filter:65002 in 0.1 seconds, 4320 bytes. 
Sep 18 21:42:10 servername spamd[30363]: spamd: result: . -94 - BAD_CREDIT,HTML_30_40,HTML_MESSAGE,tld_TLD,MIME_BASE64_TEXT,USER_IN_WHITELIST scantime=0.1,size=4320,user=filter,uid=65002,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=23851,mid=<003401c6db5a$87b60370$97220a50$@tld>,autolearn=no 
Sep 18 21:42:10 servername spamd[30362]: prefork: child states: II 
Sep 18 21:42:10 servername postfix/pickup[30445]: 00B298C0421: uid=65002 from=<thomas@domain.tld>
Sep 18 21:42:10 servername postfix/cleanup[30534]: 00B298C0421: message-id=<003401c6db5a$87b60370$97220a50$@tld>
Sep 18 21:42:10 servername postfix/pipe[30535]: 8E49C8C041F: to=<web2p4@servername.server4you.de>, orig_to=<spam@domain.tld>, relay=spamfilter, delay=1, status=sent (servername.server4you.de)
Sep 18 21:42:10 servername postfix/qmgr[30459]: 8E49C8C041F: removed
Sep 18 21:42:10 servername postfix/qmgr[30459]: 00B298C0421: from=<thomas@domain.tld>, size=4795, nrcpt=1 (queue active)
Sep 18 21:42:10 servername postfix/local[30552]: 00B298C0421: to=<web2p4@servername.server4you.de>, relay=local, delay=1, status=sent (delivered to maildir)
Sep 18 21:42:10 servername postfix/qmgr[30459]: 00B298C0421: removed
Sep 18 21:42:12 servername postfix/smtpd[30529]: disconnect from unknown[88.134.xx.xx]

kann mir wer hilfestellung geben. beschäftige mich erst seit 2tagen überhaupt mit postfix und procmail....habe langsam einen informationsüberfluss

danke
m0nji
 
ps: die fehlermeldung das keine berechtigung da ist um auf /home/spamfilter zuzugreifen ist jetzt beseitigt nachdem ich den ordner angelegt habe und rechte vergeben habe...

jedoch an der sa-learn.log datei änder sich nix... :(
 
ich habe nun alle seiten (hoffentlich) aufmerksam verfolgt.
Daran zweifel ich gewaltig. Sonst wäre Dir aufgefallen, daß wir hier im Schriftdeutschen kommunizieren. Dazu gehört auch die Groß-/Kleinschreibung.

Nimm dies als offizielle Verwarnung bzgl. Punkt 3 unserer Boardregeln.


to=<web2p4@servername.server4you.de>, orig_to=<spam@domain.tld>, relay=spamfilter, delay=1, status=sent
to=<web2p4@servername.server4you.de>, relay=local, delay=1, status=sent (delivered to maildir)
a)
Wie man sieht hast Du einen Alias oder virtuellen User spam@domain.tld der auf web2p4 zeigt. So kann man es zwar auch machen, geschickter wäre es aber ohne Confixx und einfach lokale User namens spam und ham anzulegen. Die gelten dann nämlich für jede Domain.

b) Was mich irritiert ist, daß hier der Username spamfilter auftaucht. Wo kommt der her?

c) Bist Du Dir sicher, daß procmail bei Dir als MDA genutzt wird?

PS: /home/spamfilter/ anzulegen war nicht die Lösung. Spamd mit dem Parameter -x zu starten, wäre die Bessere.

huschi.
 
Hi,

ich gelobe Besserung wegen der Groß-/Kleinschreibung.

a)
Wie man sieht hast Du einen Alias oder virtuellen User spam@domain.tld der auf web2p4 zeigt. So kann man es zwar auch machen, geschickter wäre es aber ohne Confixx und einfach lokale User namens spam und ham anzulegen. Die gelten dann nämlich für jede Domain.

Ich werde heute am späten Nachmittag die User von Hand anlegen. Auf die Möglichkeit hatte ich nicht geachtet.

b) Was mich irritiert ist, daß hier der Username spamfilter auftaucht. Wo kommt der her?

Da ich wie gesagt mich erst seit gut 2-3 Tagen mit der Thematik beschäftige weil ich vorher einen Suse 9.1 Server mit Sendmail betreut habe und dort es über Webmin sehr einfach war SA zum Laufen zu bringen. Was dich irritiert kommt daher...

c) Bist Du Dir sicher, daß procmail bei Dir als MDA genutzt wird?

Folgendes steht in der master.cf:

Code:
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
     -o content_filter=spamfilter:

und

Code:
spamfilter unix -    n    n    -    -    pipe
  flags=Rq user=filter argv=/usr/bin/postfixfilter -f ${sender} -- ${recipient}
Diese Sachen habe ich wie gesagt aus dem Tutorial von oben. Und natürlich steht auch noch mehr in der Master.cf, jedoch sind das die Zeilen die ich selber eingefügt habe.

Ist das für dich der Hinweis das Procmail nicht läuft?
Achso folgendes steht in der Main.cf

Code:
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
unknown_local_recipient_reject_code = 550
#home_mailbox = Mailbox
#home_mailbox = Maildir/
#mailbox_command = /usr/bin/procmail
#mailbox_command = procmail  -a "$EXTENSION"
#mailbox_transport = lmtp:unix:/file/name
mailbox_transport = procmail
debug_peer_level = 2
debugger_command =
     PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
     xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = maildrop
html_directory = /usr/share/doc/packages/postfix/html
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix/samples

Plus einiges mehr...
Habe extra 3-4 Zeilen die auskommentiert sind mit gepostet weil ich glaube das diese Zeilen von Bedeutung sein könnten?!

PS: /home/spamfilter/ anzulegen war nicht die Lösung. Spamd mit dem Parameter -x zu starten, wäre die Bessere.

ATM starte bzw. restarte ich SA mit dem Kommando "rcspamd restart". Was macht denn der Befehl "-x"?

Hoffe ein wenig Aufschluss über meine verwirrende Konfiguration gegeben zu haben.

Danke für die Hilfe.

PS: Sicher bin ich natürlich nicht das Procmail läuft, nur habe ich mir darüber nicht die Gedanken gemacht, da SA läuft.
 
Last edited by a moderator:
#mailbox_command = /usr/bin/procmail
#mailbox_command = procmail -a "$EXTENSION"
#mailbox_transport = lmtp:unix:/file/name
mailbox_transport = procmail
Die 2.Zeile wäre eigendlich die richtige. (siehe "man 5 procconf")

setgid_group = maildrop
Sicher das die Gruppe maildrop existiert?

restarte ich SA mit dem Kommando "rcspamd restart".
Je nach System in /etc/default/spamd oder /etc/sysconfig/spamassassin eintragen.

Was macht denn der Befehl "-x"?
man spamd

nur habe ich mir darüber nicht die Gedanken gemacht, da SA läuft.
Gegenfrage: Was hat Deiner Meinung nach SA mit Procmail zu tun?
Antwort: In Deinem Falle nichts, da Du SA direkt in Postfix einbettet hast.

huschi.
 
Die 2.Zeile wäre eigendlich die richtige. (siehe "man 5 procconf")

Also die 2. Zeile habe ich jetzt aktiviert, dafür "mailbox_transport = procmail" auskommentiert! Richtig oder sind mehere Einträge davon nötig?


Sicher das die Gruppe maildrop existiert?

Ja existieren tut die Gruppe. Jedoch habe ich das halt nicht eingestellt...das waren Voreinstellungen wohl durch S4Y.

Je nach System in /etc/default/spamd oder /etc/sysconfig/spamassassin eintragen.

Flag -x habe ich eingefügt.

Gegenfrage: Was hat Deiner Meinung nach SA mit Procmail zu tun?
Antwort: In Deinem Falle nichts, da Du SA direkt in Postfix einbettet hast.

Als Unwissender habe ich nach Tutorials im Netz gesucht und das Tutorial gefunden was ich vorhin gepostet habe. Hätte ich es vorher gewusst hätte ich es sich so NICHT gemacht.

Was sind jetzt noch für Einträge wo nötig um Procmail zum Laufen zu bekommen damit Dein Howto in diesem Thread greift?
Einträge in der master.cf?

Trotzdem vielen Dank für die ausführliche Hilfe...

mfg
m0nji
 
und das Tutorial gefunden... Hätte ich es vorher gewusst hätte ich es sich so NICHT gemacht.
Am Tutorial ist grundsetzlich nichts falsch.
Lediglich wird hier nicht Procmail verwendet.

Was sind jetzt noch für Einträge wo nötig um Procmail zum Laufen zu bekommen
Sind oben genannt.
Du erkennst es, indem Du verbose und LOGFILE in der procmailrc einschaltest.

huschi.
 
Zitat:
Was sind jetzt noch für Einträge wo nötig um Procmail zum Laufen zu bekommen

Sind oben genannt.
Du erkennst es, indem Du verbose und LOGFILE in der procmailrc einschaltest.

Du meinst auf deiner ersten Seite? Wenn ich das richtig verstehe gehst du in deinem Tutorial aber davon aus, dass Procmail die Lieferung für Postfix bereits übernimmt.

Bekomme ich Mails kann ich auch in den Nachrichtenoptionen sehen das SA läuft aber das gibt mir ja keinen Aufschluss darüber ob Procmail läuft.

In /var/log/procmail.log ist nichts, Dateigröße 0

Also schliesse ich wohl daraus das nach wie vor SA eingebettet in Postfix ist anstatt das Procmail die Weiterleitung übernimmt. Die sa-learn.log Datei ist ebenfalls noch leer. Mit dem Befehl sa-learn --dump erkenne ich aber mittlerweile eine wahnsinnig lange Liste.

Ob Procmail läuft oder nicht bzw. wie ich Procmail zum Laufen bekomme bestimme ich doch in der Master.cf oder nicht? Das dort möglicherweise ein Wert noch nicht korrekt ist?

Grüße
m0nji
 
Sorry, wenn ich jetzt mal ein bischen Direkt werde:
Du scheinst maximal 30% von dem zu verstehen, was Du da machst.
Du schmeißt dermaßen viele Fakten durcheinander und schließt aus dem Einen auf andere Dinge, die nichts damit zu tun haben.
Mir geht das gerade etwas zu sehr gegen den String.

Wenn Dein SA läuft und der Bayes per autolearn genug von selber lernt, dann laß dieses Tutorial einfach mal liegen, bis Du weißt, ob Du es wirklich brauchst oder willst und vorallem worum es hier eigendlich geht.

huschi.
 
Sorry wenn ich jetzt mal direkt werde:
Dich hat mein Problem vom ersten Post an gestört weil ich einen Fehler bezüglich der Rechtschreibung/Orthographie gemacht habe, wofür ich mich entschuldigt habe.

Das einzige was du zu dem Problem beigetragen hast ist dein Linux-Mail Knowhow in Form von "Das ist falsch" beizutragen, bis auf 2 Sätze in denen man ansatzweise erkennen konnte das du auf eine Frage nicht mit einer Gegenfrage reagiert hast sondern ansatzweise einen Lösungsvorschlag mir unterbreitet hast.

"MOD" für alle Fälle trifft für dich auf jedenfall zu!

PS: Nach 3 Tagen 30% von der Thematik Postfix/Procmail/Spamassassin zu kennen finde ich gut. Die 30% haben wohl andere nach 2Jahren Erfahrung noch nicht. Danke für das Kompliment! :rolleyes:
 
Last edited by a moderator:
Back
Top