sa-learn per Email füttern

fmschrader said:
Es füllt sich die procmail.log, aber die sa-learn.log bleibt leer.
Erstmal mußt Du rausbekommen, ob sa-learn richtig läuft.
Aufschluß darüber gibt 'sa-learn --dump'.

Ist es ok, die beiden eMail-Adressen in einem Postfach zu haben
Theoretisch ja solange die TO-Zeile unverändert bleibt.

huschi.
 
Hi Huschi, das trifft sich ja gut. :)

die Antwort meines geliebten VServers lautet:

0.000 0 3 0 non-token data: bayes db version
0.000 0 0 0 non-token data: nspam
0.000 0 0 0 non-token data: nham
0.000 0 0 0 non-token data: ntokens
0.000 0 0 0 non-token data: oldest atime
0.000 0 0 0 non-token data: newest atime
0.000 0 0 0 non-token data: last journal sync atime
0.000 0 0 0 non-token data: last expiry atime
0.000 0 0 0 non-token data: last expire atime delta
0.000 0 0 0 non-token data: last expire reduction co

Heißt das, sa-learn läuft "richtig"?

Ciao

Martin
 
Insecure $ENV{PATH} while running setuid at /usr/local/bin/sa-wrap.pl line 30, <STDIN> line 59.
procmail: Program failure (255) of "/usr/local/bin/sa-wrap.pl"
procmail: Rescue of unfiltered data succeeded
From meine@emailaddresse.tld Tue Oct 25 10:38:34 2005
Subject: test
Folder: /dev/null 2287


Ich bekomme immer diese Meldung in die procmail.log ausgespuckt. woran kann das liegen.

Gruß Michael
 
Last edited by a moderator:
Hallo :)

Mal eine ganz dumme frage:
Ich habe momentan eine Postfix Mailserver der in einer MySQL Datenbank die EMail Konten verwaltet.
Die Emails werden dann auf dem Server im Verzeichnis:
/usr/local/virtual/user@domain.tld abgleget

Muss ich da nun irgendwie die .procmailrc ablegen?
Oder muss ich in die /etc/aliases irgendwie was machen?

Leider versteh ich das nicht so ganz :/
 
friesi said:
Muss ich da nun irgendwie die .procmailrc ablegen?
Nein, in diesem Fall kommt (glaub ich) procmail gar nicht zum Einsatz.
Hier müsstest Du noch einen eigenen Filter in die SMTP-Queue einbauen.

huschi.
 
Ich würde empfehlen, die Spam emails aus einem Mailprogramm im mbox-Format zu exportieren, dann brauchst Du sie nicht weiterleiten und sie tragen dann nicht Deinen Absender.

Aber ich habe auch ein Problem:
Mein Spamassassin läuft im Prinzip, aber er scheint nicht richtig dazuzulernen.
Wenn ich "sa-learn --dump" eingebe, bekomme ich folgende Ausgabe:

0.000 0 3 0 non-token data: bayes db version
0.000 0 876 0 non-token data: nspam
0.000 0 819 0 non-token data: nham
0.000 0 93931 0 non-token data: ntokens
0.000 0 959358177 0 non-token data: oldest atime
0.000 0 1143128745 0 non-token data: newest atime
0.000 0 0 0 non-token data: last journal sync
atime
0.000 0 0 0 non-token data: last expiry atime
0.000 0 0 0 non-token data: last expire atime
delta
0.000 0 0 0 non-token data: last expire
reduction count
0.049 0 1 1143125572 f44a81da39
0.013 0 4 1143123902 155a5cbc4f
0.007 0 8 1143121331 01d5cb4aa3
0.049 0 1 1143121024 435adf1cea
....
und viele weitere Zeilen.

Woran kann es noch liegen, falls das Ergebnis von "sa-learn --dump" gut aussieht?

Danke.

Gruß, Dietrich
 
columbusdb said:
Ich würde empfehlen, die Spam emails aus einem Mailprogramm im mbox-Format zu exportieren, dann brauchst Du sie nicht weiterleiten und sie tragen dann nicht Deinen Absender.
Dies ist ein Howto zum Füttern von Spam-Mails. Es wird keine Diskussion darüber angestrebt.
Und wer es richtig gelesen hat, weiß auch, daß hierbei nicht die eigene Email-Adresse an sa-learn verfüttert wird.

Aber ich habe auch ein Problem:
Das hat aber nichts mit diesem Howto zu tun. Daher sollte man dann einen eigenen neuen Thread aufmachen.
Mein Spamassassin läuft im Prinzip, aber er scheint nicht richtig dazuzulernen.
Und begründe im neuen Thread Deinen Verdacht. Dann die sa-learn-Ausgabe sagt, daß alles in Ordnung ist und Du auch schon ausreichend viel Spam drin hast.

huschi.
 
Hallo,

Ich habe das Howto von Huschi befolgt, jedoch wird das Perl Script nciht aufgerufen.
Ich denke es liegt daran dass mein Postfix procmail ganz einfach ignoriert.

in meiner Master.cf steht:
Code:
procmail  unix  -       n       n       -       -       pipe
  flags=R user=root  argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}

in meiner Main.cf:
Code:
mailbox_command = /usr/bin/procmail

Aber die Datei /etc/procmailrc wird anscheinend ausser Acht gelassen. In Maillog steht nichts über Procmail und der Procmail.log ist leer.
 
Es fehlt noch Deine procmailrc.
Das ist die aus deinem Howto:
Code:
verbose=yes
LOGFILE=/var/log/procmail.log

:0
* ^To: spam@MEINEDOMAIN.DE
{
:0fw
| /usr/local/bin/sa-wrap.pl --spam
:0
/dev/null
}

:0
* ^To: ham@MEINEDOMAIN.de
{
:0fw
| /usr/local/bin/sa-wrap.pl --ham
:0
/dev/null
}
Ich habs auch schon ohne "^To:" versucht, geht auch nicht. Ich hab, wie gesagt, das Gefühl dass Procmail net aufgerufen wird, aber ich weiss nicht wo ich mit der Fehlersuche anfangen soll.

Nachtrag, ich hab jetzt mal die Procmailrc umgeschrieben: echo 'working' > /test/test.log
Und wie erwartet wird nichts in die Datei geschrieben.
 
Last edited by a moderator:
Ich speicher natürlich in...äh....was confixx...äh...standart....ähm *nachschau*....

main.cf sagt:
home_mailbox = Maildir/

Alle Mails landen in: /home/confixx und dann halt im jeweilgen Unterverzeichnis namens webXpX
 
home_mailbox = Maildir/
Tja, das erklärt warum "mailbox_command" nicht greift oder? :)
- Kann Dein Postfix Maildir?
- Hast Du "MAILDIR=$HOME/" in der procmailrc
- Was steht im Maillog nach 'status=sent'? (z.B. '(delivered to command: procmail")')

//edit: Schau Dich doch mal nach einem anderen Maildropper um: Z.B. maildrop.

huschi.
 
Last edited by a moderator:
Maildrop ist ja gut und schön...aber...wie bring ich das jetzt in Zusammenhang mit deinem Howto :confused:

Ich hab noch ein bisschen gegooglt und folgendes gefunden:
Jemand hat direkt in die master.cf folgendes eingetragen:
Code:
# Spam & Ham
sa-spam unix - n n - - pipe
user=vscan:vscan argv=/usr/pkg/bin/sa-wrapper.pl spam ${sender}
sa-ham unix - n n - - pipe
user=vscan:vscan argv=/usr/pkg/bin/sa-wrapper.pl ham ${sender}
Allerdings hab ich keine Ahnung wie das funktionieren soll?! Weil in deinem Script wird ja noch unterschieden: Wenn Mail Addresse = spam@... dann...Aber hier, wird das Script bei jeder Mail aufgerufen?!?!?!?

Noch ein bisschen weiter gegooglt:
if you are using postfix as an MTA then it will work like this,
lets say your spam and no spam email addresses are spam@xyz.com and
nospam@xyz.com. The xyz.com should be the mydestination of the server on
which spamassassin is running.
In the aliases file put entry like this
spam: spam@spam.spam
nospam: nospam@ham.ham

Then in transport file specify a transport for these
spam.spam sa-spam:
ham.ham sa-ham:
So da ich ein ABSOLUTER Mailnoop bin:
Wie (und dabei meine ich BEFEHL-Genau), schreibe ich die Einträge in die alias Datei (und wo ist die....) und WIE und WO trag ich diesen Transport ein....Hilfe :(
 
Last edited by a moderator:
Maildrop ist ja gut und schön...aber...wie bring ich das jetzt in Zusammenhang mit deinem Howto :confused:
Maildrop ist doch nur ne modernere Version von Procmail. Oder Verstehe ich Deine Frage nicht richtig?

Wie (und dabei meine ich BEFEHL-Genau), schreibe ich die Einträge in die alias Datei (und wo ist die....) und WIE und WO trag ich diesen Transport ein....Hilfe :(
Das ganze geht natürlich auch per Console. Willst Du wirklich dafür die Anleitung oder gehts auch mit Webmin?
In Webmin die Postfix-Konfiguration aufrufen, dort in Transport gehen, die transport_maps vorgeben (meist "hash:/etc/postfix/transport") und dann die Einträge machen.

Den o.g. Eintrag in der master.cf sollte man übrigends vorher machen.

huschi.
 
Sooooooooooo....alles eingebaut...funktioniert alles bis....:
Wenn das Perl Script aufgerufen wird bekomme ich folgenden Fehler:

Code:
/usr/local/bin/sa-wrap.pl
Can't call method "isa" on unblessed reference at /usr/lib/perl5/site_perl/5.8.6/MIME/Parser/Reader.pm line 187

Versteht sich ja von selbst, dass das Script nichts macht ausser diesem Fehler...

Zeile 187 aus der Reader.pm:
Code:
return $fh  if $fh->isa('IO::File');

Perl Modul: MIME Tools, MIME Parser, IO::File ... alles installiert...
 
Das liegt jetzt aber nicht mehr an meinem Howto.
Dafür bin ich also nicht zuständig.
Wenden Sie sich dafür bitte an die Kollegen aus er Abteilung PerlObjekte.

Die Fehlermeldung sagt, daß das Objekt $fh nicht richtig initialisiert wurde.

huschi.
 
Olli, ich denke, dass das Skript nicht richtig gefüttert wird. Änder das Skript so ab, dass der Inhalt der Input Variablen ausgegeben wird. (Den Rest erstmal auskommentieren.)
 
Back
Top