sa-learn per Email füttern

Dich hat mein Problem vom ersten Post an gestört weil ich einen Fehler bezüglich der Rechtschreibung/Orthographie gemacht habe
Schon wieder ein falscher Schluß...
Warum sollte ich sonst 3 mal geantwortet haben?
Das ich keine konkreten Lösungsvorschläge beitrage liegt einzig und allein an Deiner Fragestellung. Denn bereits in Deinem ersten Posting stehen widersprüchliche Annahmen. Daher meine ständigen 'das ist Falsch' und Gegenfragen, die Dich angregen sollen mal Grundsätzlich darüber nachzudenken und vorallem mal hier darlegen, was Du eigendlich willst.

Nach 3 Tagen 30% von der Thematik Postfix/Procmail/Spamassassin zu kennen finde ich gut.
Und mich mal wieder nicht verstanden. Ich habe nicht gesagt, daß Du dich 30% auskennst sonder lediglich 30% verstehst, was Du machst und (als Ergänzung) tuen willst.

Das größte Problem das ich mit Dir habe, ist daß Du Dich in einen Thread eingeklinkt hast ohne wirklich zu wissen, worum es geht und wofür die Sache gut ist. Deshalb hat sich hier auch kein anderer Deinem "Problem" angenommen.
Durch soche Beiträge wird erstens das gesamte Howto verwässert und zweitens werden nachfolgende Leser verwirrt.

Falls Du Dich immer noch gekränkt fühlst, laß es bitte per PM raus.
Falls Du endlich weißt was Du willst und es auch sauber beschreiben kannst und eine Fehleranalyse willst, eröffne doch einfach einen neuen Thread genau mit dieser Beschreibung und Deiner bisherigen Fehleranalyse.

huschi.
 
Hallo,

zunächst mal herzlichen Dank für das Howto!

Ich bin nun seit Tagen am rumprobieren, um meine Spammails an spam@mydomain.de zu schicken damit sie verfüttert werden, aber leider konnte ich bisher noch kein Erfolgserlebnis verzeichnen.

Ich nutze Suse mit qmail und habe ein Postfach spam@domain.tld angelegt.
Danach die Scipte an meine Daten angepasst und mit ihren jeweiligen Rechten auf meinem System angelegt.

In die "/var/qmail/mailnames/../../.qmail" des Users habe ich folgendes geschrieben:
Code:
|preline procmail -p -m .procmailrc
| true
./Maildir/

in die .procmailrc, die in dem selben Verzeichnis liegt steht:
Code:
verbose=yes
LOGFILE=/var/log/procmail.log

:0
* spam@mydomain.de
{
:0fw
| /usr/local/bin/sa-wrapper.pl --spam
:0
/home/test
#/dev/null
}

:0
* ham@dmydomain.de
{
:0fw
| /usr/local/bin/sa-wrapper.pl --ham
:0
/dev/null
}

Die Datei "/usr/local/bin/sa-wrapper.pl" ist vorhanden und mit den Rechten versehen, ebenso wie schon gesagt die Logs unter /var/log/procmail.log und sa-learn.log

Das Problem ist, dass im Maillog in keiner Zeile irgendwas über Procmail zu lesen ist und auch die beiden Logs (procmail.log und sa-learn.log leer bleiben)

Perl läuft in der version 5.8.6.

Kommentiere ich die Zeile mit preline in der .qmail aus, kommen die E-Mails wieder durch, sobald sie drin steht nichtmehr, aber wie gesagt auch kein Log zu finden....

Ich hoffe das sind genug informationen um mir helfen zu können :)

MfG,
Robin
 
Last edited by a moderator:
|preline procmail -p -m .procmailrc
Geh mal nicht davon aus, daß qmail zu dem Zeitpunkt wirklich in dem Verzeichnis ist geschweige denn preline über seinen Pfad findet. Ich denke eher, daß Du hier den vollen Pfad zur .procmailrc angeben mußt.

Nichts desto trotz:
Du brauchst den Umweg nicht über procmail zu machen. Schrei einfach nur folgende Zeilen in die .qmail:
Code:
|/usr/bin/preline /usr/local/bin/sa-wrapper.pl --spam
./Maildir/
Und sobald alles läuft wie es soll, kannst Du ./Maildir/ mit '#' davor auskommentieren.

huschi.
 
Hallo Huschi,

ich hatte es so auch scohn versucht, aber leider ohne Erfolg...
Es werden weder Logs geschrieben, noch seh ich den Lern-Erolg.

"Schrei einfach nur folgende Zeilen in die .qmail:"
Schreien hilft aber auch nicht immer ;-P


Ich habe aber noch einen etwas älteren thread zu dem Thema hier gefunden, in dem du jemandem geholfen hast, bei dem ein ähnlcihes Problem war.
Ich habe mir also die neue Version des wrappers die ich dort gefunden habe gezogen (huschi.net/download/sa-wrapper.pl.gz) und nun folgende Schritte verfolgt:

1. /var/qmail/mailnames/mydomain/spam/.qmail
Code:
&sa-wrapper
./Maildir/


2. User "sa-wrapper" angelegt. Er befindet sich in der Gruppe users.


3. .qmail datei mit folgendem Inhalt in /home/sa-wrapper/ angelegt
Code:
|/var/qmail/bin/preline /usr/local/bin/sa-wrapper.pl spam
-> /etc/init.d/qmail restart


4. /usr/local/bin/sa-wrapper.pl wie folgt verändert
Code:
unpack_dir auf /var/spool/unpack gesetzt
debug auf 1 gesetzt

5. Mail mit Anhang auf spam@mydomain.de geschickt... leider keine reaktion, weder in dem log /tmp/spam_err.log noch in /varlog/sa-learn.log

6. perl-Script per Hand ausgeführt. Folgendes erscheint in der spam_err.log
Code:
MIME-tools: debug: subdir = msg-1161950860-31424-0
MIME-tools: debug:    process_header

7. Mit dem Befehl den du in dem älteren Thread angegeben hast zur manuellen übergabe einer spammail an das script "cat spammaildatei > /usr/local/bin/sa-wrapper.pl spam" wird sa-wrapper.pl mit dem inhalt der mail überschrieben.

Ich denke mir, dass der Fehler schon bei der übergabe der mail an das script liegen muss, denn das script wird ja scheinbar garnicht aufgerufen wenn eine mail an das postfach geht. Das Script hat inzwischen sogar alle Rechte die es bekommen könnte ;) Aber es will einfach nicht.

hast du noch eine Idee was da falsch laufen könnte?

Vielen Dank scohnmal und viele grüße,

Robin
 
Last edited by a moderator:
Schritte 1. und 2. sind unnötig. Das kann direkt als User spam laufen. (Benuzterrechte beachten)
Hast Du bei 4. die Rechte des Verzeichnisses richtig gesetzt?
Was stand nach 5. im maillog?
Punkt 6 kann nicht gehen.
7ter Punkt enthält einen Fehler: es darf keine Umleitung ">" sein, sondern muß eine Pipe "|" sein.

huschi.
 
danke für deine Bemühung Huschi, aber ich habe es jetzt anders gelöst.

Ich habe jetzt ein Script geschrieben, das per Cronjob einmal am Tag die Maildir Dateien ausgibt und an den sa-wrapper übergibt, der sie dann verarbeitet und dem SA zum fressen vorwirft. Wer genauere Details dazu haben will kann mich gerne per PM anschreiben.

edit: Ich stelle meine Frage mal lieber in einem extra Thread da sie nichts mehr mit dieser Thematik zutun hat.

viele Grüße,
Robin
 
Last edited by a moderator:
Hallo,

ich habe das howto mit der sa-wrap.pl durchgeführt, finde im procmail log nun leider eine fehlermeldung:

procmail: Error while writing to "/usr/local/bin/sa-wrap.pl"

Bei Verwendung des neuen Scripts meldet mir dieses immer folgenden Fehler:
I don't recognize your domain ! at /usr/local/bin/sa-wrapper.pl line 53.

Hat jemand eine Idee woran es liegen könnte?

Die Datei gehört root:root und hat rechte 755.


Ich finde die Idee sa-learn per Email zu füttern perfekt und würde sie gerne nutzen.
Mfg Philipp
 
Last edited by a moderator:
Hallo,

ich habe einen Debian Server mit Plesk8.1 und möchte wissen ob diese Anleitung sich auch auf Plesk-Mailserver bezieht bzw. ich dort das SÁ-Script + Procmail installieren kann?
 
procmail: Error while writing to "/usr/local/bin/sa-wrap.pl"
Dann hast Du die Pipe falsche gesetzt.

Desweiteren sollte man auf jedenfall den neueren sa-wrapper nutzen.
Allerdings mit der leichten Modifikation mit der Domain (download)

@niceboy01:
Ja, beachte dazu auch Plesk/qmail: Email-Adress an ein Server-Script knüpfen

PS an alle:
Halbwegs aktuelles/kompaktes Howto:
SpamAssassin: sa-learn per Email füttern
Fragen und Anregungen dazu bitte weiterhin hier im Thread.

huschi.
 
Dann hast Du die Pipe falsche gesetzt.

Desweiteren sollte man auf jedenfall den neueren sa-wrapper nutzen.
Allerdings mit der leichten Modifikation mit der Domain (download)

Hi,
ich habe gerade nochmal ins log geschaut dort taucht folgender fehler auf:

procmail: Couldn't determine implicit lockfile from "/usr/local/bin/sa-wrapper.pl"
Unknown option: --spam
Unknown option!
Usage:
sa-learn [options] [file]...

sa-learn [options] --dump [ all | data | magic ]

Options:

--ham Learn messages as ham (non-spam)

Meine Procmail sieht wie folgt aus:
Ausschnitt:
:0:
* ^To: spam@spam.mydomain.de
{
:0fw:
| /usr/local/bin/sa-wrapper.pl --spam
:0:
/dev/null
}

:0:
* ^To: ham@spam.mydomain.de
{
:0fw:
| /usr/local/bin/sa-wrapper.pl --ham
:0:
/dev/null
}

Siehst du vieleicht irgendeinen Fehler?

Mfg
Philipp
 
Last edited by a moderator:
Fällt mir jetzt auch zum ersten Mal auf:
Wenn der neue Wrapper mit --spam aufgerufen wird gibt er an sa-learn ein ----spam weiter. :)
Du kannst entscheiden ob Du die -- in der procmailrc oder im wrapper raus nehmen willst.

huschi.
 
MOD: Full-Quote entfernt!
Merci, nun funktioniert es.

Werden die erlernten Informationen global für alle Postfächer gelernt? Weil mich wunderte folgender Eintrag im sa-learn.log
debug: bayes: Not available for scanning, only 6 spam(s) in Bayes DB < 200

Ich habe aber gestern ein Archiv mit ca. 1300 Spam Mails im mbox Format mit sa-learn verarbeitet.

Mfg
Philipp
 
Last edited by a moderator:
Da mußt Du selber nachsehen, ob Du mehrere Bayes-DB's betreibst. :)
Wenn der User eine eigene user_prefs hat (bzw. ein eigenes ~/.spamassassin/) dann wäre das in diesem Falle ziemlich Sinnlos.

huschi.
 
MOD: Full-Quote entfernt!
Argh, ja hat er. Murks, ach was liebe ich Confixx.
Die user_prefs finde ich gerade nicht, aber das .spamassassin gibts unter dem "Spam" Postfach.

Hast du vieleicht nen Tipp für mich wie ich die Daten in die Globale Bayes DB bekomme?

Danke.
Philipp

Nachtrag:
Also er legt für jedes Postfach eine user_prefs an, aber in dem Postfach auf das auch die Spamemailadresse läuft existiert diese nicht,
dort existiert lediglich das .spamassassin mit den Dateien bayes_seen und bayes_toks .
 
Last edited by a moderator:
Dann mußt Du halt eine user_prefs anlegen, in der die globalen Bayes-Files angegeben werden.

Okay, ich habe ihn nun soweit das er auf die Globalen Bayes-Files zugreifen möchte. Nur habe ich nun das Problem das er dies unter dem User des Postfaches möchte, meine Globalen Bayes aber unter /root/.spamassassin liegen, kann ich Ihn dazubringen über die wrapper.pl via root sa-learn auszuführen?
Er kann die Bayes Files durch umstellen der Rechte verwenden, meldet aber einen "Permission denied" beim erzeugen der bayes.lock.

Danke soweit.

Gruß
Philipp
 
Last edited by a moderator:
kann ich Ihn dazubringen über die wrapper.pl via root sa-learn auszuführen?
Ja, mit sudo oder mit dem Sticky-Bit. Wäre aber die unsichere Variante, da eine Code-Injection nicht ausgeschlossen ist. Verlege doch einfach die Bayes-Files.
Der local.cf eintrag:
Code:
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 777

huschi.
 
Funktioniert das auch mit QMail?

Ich meine das HowTo zum anlernen des Bayes? Ich arbeite selbst mit Outlook 2003 (also lokal auf meiner Workstation) auf dem Server läuft QMail.
 
Back
Top