SPAM mails verschieben im Postfach / Jana mit Spamassassin |
abuechi
Doppel-As
Dabei seit: 31.01.2004
JanaServer: Mod-Version
 |
|
| SPAM mails verschieben im Postfach / Jana mit Spamassassin |
 |
Bitte beantworten Sie folgende Fragen, in dem sie an das Ende der Zeile Ihre Antwort einfügen! Dies erleichtert den Usern und/oder Moderatoren ihre Frage(n) zu beantworten!
[*]Jana-Version: 2.5.1.189
[*]Windows-Version: Win7
Hallo Forum,
Da ich Win7 neu auf meinem Jana Rechner installiert habe, geht leider Manfred König's Spam nicht mehr und ich musste Alternativen suchen. Ich habe jetzt Spamassassin für Windows installiert, was soweit ganz gut läuft.
Wunsch:
Ich möchte alle Emails welche X-SPAM score >4.9 sind, automatisch in ein Unterverzeichnis \mail\userX\spam für meine IMAP user verschieben.
Nun mein Problem:
- Ich kann die Emails nicht mit POPFile verschieben, da mein Server an einer fixen IP hängt und die Emails alle direkt über Port 110 reinkommen und nicht abgeholt werden.
- Die Emails mit spam_sort verarbeiten kann ich nicht, da ich für jeden user login und passwort separat im php script hinterlegen muss (kenne die PW's nicht). Wäre sonst ideal.
- Meine Idee war noch, ein VBS Script durchsucht einmal pro Minute alle files und verschiebt sie im Spamfall in das Unterverzeichnis mail\userX\spam . Da gewisse Emailaccounts aber eine autom. Weiterleitung haben, ist Jana schneller mit weiterleiten als das Script mit einsortieren.
- Spam emails direkt bei der Filterung einsortieren geht nicht weil der Bezug zur Mailbox fehlt -> ".\mail\out_0001.jnp" statt ".\mail\userX\in_0002.mai"
Ideal wäre ein zusätzliche Funktion bei der Spamprüfung unter "Email-erweitert-Benutzer-EDIT-Auszuführendes Programm"
(_) Flag on/off "Emails speichern unter: \mail\userX\...... wenn Errorlevel = 5"
Mache ich einen Denkfehler? Hat jemand eine Idee? Danke.
Gruss
abuechi
Was ist in den entsprechenden Logfiles vermerkt, bitte nur den betreffenden Ausschnitt posten bzw. ist das Logfile zugroß dieses als Anhang anfügen oder über Ihre HP verlinken?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von abuechi: 08.03.2012 07:30.
|
|
17.02.2012 15:42 |
|
|
abuechi
Doppel-As
Dabei seit: 31.01.2004
JanaServer: Mod-Version
Themenstarter
 |
|
RE: SPAM mails verschieben im Postfach |
 |
Hallo Forum,
Ich habe eine Lösung gefunden.
Unter "Email-erweitert-Benutzer-Edit(jeweiliger Benutzer)" bei "auszuführendes Programm"
- Programm ausführen: JA
- Löschen der Email bei Rückgabewert: 5
(Wert 5 kommt von Spamassassin bei erkanntem Spam.)
Kommandozeile: C:\spamassassin\sa-spam.bat $FILE$ $SENDADDR$ $RECPTADDR$
Batch file (Bsp: sa-spam.bat) im Editor erstellen:
set jana=C:\Jana2\
set sa=C:\Spamassassin\spamassassin.exe -e
set NameUnterverzeichnis=spam
set maxUserNr=30
set logfile=sa-spam.log
set X=0
:addone
set /A x=%x%+1
dir %jana%mail\user%x%\%3
if %errorlevel% EQU 0 goto check
if %maxUserNr%==%x% goto sendtoadmin
goto addone
:sendtoadmin
set x=1
:check
FOR /F "tokens=1,2,3,4 delims=/. " %%a IN ("%DATE%") DO SET CDATE=%%c%%b%%a
FOR /F "tokens=1,2,3,4 delims=:. " %%a in ("%TIME%") do set CTIME=%%a%%b%%c%%d
md %jana%mail\user%x%\%nameunterverzeichnis%
set tmp=%jana%mail\user%x%\%nameunterverzeichnis%\in_%CDATE%%CTIME%.mai
%sa% %1 > %tmp%
set el=%errorlevel%
echo %date% %time% - FROM:%2 - TO:%3 - USER:%x% - %el% >>%jana%logfiles\%logfile%
if %el% GEQ 1 goto spam
copy /y %tmp% %1
del %tmp%
:spam
exit %el%
Da ich Datum und Zeit als Filename nehme, "sollte" es auch keine Emails mit gleichem Filenamen geben. Es mag nicht ganz sauber sein so Emails in den Verzeichnissen herumzuschieben, habe das aber mal so getestet und es funktioniert perfekt.
Gruss
abuechi
|
|
20.02.2012 17:36 |
|
|
|
|
Das finde ich mal absolut sinnvoll...
@Thomas: Wäre es nicht möglich, dass der interne Benutzername/dessen Verzeichnis als Variable für die Kommandozeile zur Verfügung steht?
Da ich mehrere Benutzer auf dem Server habe und nun über Jana auf Spam prüfen möchte (weil nervt sonst, wenn das Zeug alles aufm Handy ankommt), wäre das schon äußerst hilfreich.
Das Problem ist bislang, dass man nicht weiß für welches Konto eine Mail angekommen ist.
@Abuechi: Funktioniert das auch noch, wenn eine Spam-Mail gleichzeitig an zwei Empfänger auf dem Server adressiert ist?
|
|
07.03.2012 00:37 |
|
|
abuechi
Doppel-As
Dabei seit: 31.01.2004
JanaServer: Mod-Version
Themenstarter
 |
|
|
07.03.2012 02:04 |
|
|
abuechi
Doppel-As
Dabei seit: 31.01.2004
JanaServer: Mod-Version
Themenstarter
 |
|
| RE: Tool für Jana mit Spamassassin |
 |
Hallo zusammen,
Habe gemerkt, das ich eine alte Version meines Tools ins Netz gestellt habe. Die hatte noch bugs. Ist jetzt aber ersetzt.
Gruss
abuechi
|
|
08.03.2012 07:41 |
|
|
|
|
Danke dir! Ich schau mal rein und geb dir bescheid
|
|
09.03.2012 20:34 |
|
|
djmugge
Lebende Foren Legende


Dabei seit: 16.06.2002
JanaServer: Mod-Version
 |
|
| RE: SPAM mails verschieben im Postfach / Jana mit Spamassassin |
 |
| Zitat: |
Original von abuechi
Wunsch:
Ich möchte alle Emails welche X-SPAM score >4.9 sind, automatisch in ein Unterverzeichnis \mail\userX\spam für meine IMAP user verschieben.
|
Die Lösung gefällt mir. Jetzt fehlt mir nur noch was für die übrigen POP3 User und deren Spammails. Entweder man richtet ein Spamsammelpostfach ein und sammelt da alles (geht wohl nur privat, weniger in kommerziellen Umgebungen wg. Datenschutz) oder man lässt es bei der Kennzeichnung und der User hat im Outlook oder anderen Mailclient eine entsprechende Regel erstellt, die die Mails in einem Ordner sammelt. Dort kann er dann selbst sortieren.
__________________ Jana 2.5.2.204
Win XP SP3
PHP 5.2.10
mySQL 5.5.16
Clients mit Win7 + XP Prof. SP3
PopFile für Spam
SpamAssassin f. Windows
Avira Professionell Security 13
|
|
12.03.2012 17:56 |
|
|
abuechi
Doppel-As
Dabei seit: 31.01.2004
JanaServer: Mod-Version
Themenstarter
 |
|
| RE: SPAM mails verschieben im Postfach / Jana mit Spamassassin |
 |
Hallo zusammen,
| Zitat: |
| Jetzt fehlt mir nur noch was für die übrigen POP3 User und deren Spammails. |
Ich habe mein Tool (siehe oben) so gebaut, dass es 1x Täglich eine Email an die Spam-mailempfänger mit Absender und Betreff aller erhalten SPAMs sendet. Der User muss dann halt über Webmail das Spam holen. Umgekehrt (Spam melden für POP3 user) habe ich noch keine brauchbare Lösung gefunden.
Ich bin aber auf ein neues Problem gestossen. Spamassassin lernt Whitelist Adressen von den Empfängern. In Jana fehlt aber die Möglichkeit, ein Programm vor dem Senden abzurufen (dito E-mail-erweitert-Benutzer-Auszuführendes Programm -> aber wenn der Benutzer eine Email sendet!).
Das würde ich mir für die nächste Jana Version wünschen
Gruss
abuechi
|
|
13.03.2012 15:59 |
|
|
braunhb
Eroberer
  
Dabei seit: 10.09.2005
 |
|
Hallo,
bei mir läuft der Spamfilter noch nicht richtig. Es sieht so aus als wenn, Pfade nicht richtig gesetzt sind. Z.B. wird die sa-temp im Verzeichnis Spamassassin gesetzt.
Ich kann ja mal meine geänderten Batch Dateien hier reinstellen evtl. sieht ja jemand den Fehler:
sa-config:
@echo off
set jana=c:\Programme\Jana2\
set satp=%janam%sa-temp\
set NameUnterverzeichnis=spam
set NameUnterverzeichnisOutlook=Junk-E-Mail
set maxUserNr=30
set sa-pfad=c:\Programme\SpamAssassin\
set sa=%sa-pfad%spamassassin.exe
set sl=%sa-pfad%sa-learn.exe
set su=%sa-pfad%sa-update.bat
set logfile=sa-spam.log
set KillSpamTage=3
set sy=X-Spam-Status: Yes
set sb=*****SPAM*****
set ipsmtp=192.168.1.10
set fromsmtp=NoReply@SPAMFilter
set php=c:\PHP_5_3_2\php-cgi.exe
set fs=c:\windows\system32\findstr
set janam=%jana%mail\
set T=%date:~0,2%
set M=%date:~3,2%
set J=%date:~6,4%
set kst=%satp%%J%%M%%T%killspam.bat
sa-spam:
@echo off
call c:\Programme\SpamAssassin\sa-config.bat
REM Email wird zur Prüfung an Spamassassin übergeben und geprüft
set X=0
set /A mu=%maxUserNr%+1
FOR /F "tokens=1,2,3,4 delims=:. " %%a in ("%time%") do set ctime=%%a%%b%%c%%d
set std=%time:~0,2%
if %std% GEQ 10 goto t2
set tm=in_%J%%M%%T%0%ctime%.mai
goto addone
:t2
set tm=in_%J%%M%%T%%ctime%.mai
:addone
set /A x=%x%+1
if %x%==%mu% goto kairo
dir %janam%user%x%\%3
if %errorlevel% EQU 0 goto check
goto addone
:check
md %janam%user%x%\%nameunterverzeichnis%
set tmp=%janam%user%x%\%nameunterverzeichnis%\%tm%
%sa% -e %1 > %tmp%
set el=%errorlevel%
echo %date% %time% - FROM:%2 - TO:%3 - USER:%x% - %el% >>%jana%Logfiles\%logfile%
copy /y %tmp% %1
if %el% GEQ 1 goto spam
del /Q %tmp%
goto end
:spam
md %satp%
echo del /Q %tmp%>>%kst%
set tf=%satp%Infomail_an_user%x%.php
dir %tf%
if %errorlevel% EQU 0 goto neueZeile
echo ^<?php>>%tf%
echo $to = '%3';>>%tf%
echo $subject = 'Ihr automatischer Spam-Report vom %date%';>>%tf%
echo $message = ^"Du hast diese SPAM Email(s) in den letzten 24 Stunden erhalten:\n\n>>%tf%
:neueZeile
echo Absender: %2>>%tf%
for /F "tokens=1,2,3 delims=*" %%a in ('%fs% /C:"%sb%" %tmp%') do (echo Betreff: %%c>>%tf%)
echo Emfangen: %date%, %time%\n\n>>%tf%
:end
exit %el%
:kairo
set errorlevel=0
echo %date% %time% - FROM:%2 - TO:%3 - FEHLER! Kein User gefunden / MaxUserNr zu klein - %errorlevel% >>%jana%Logfiles\%logfile%
exit %errorlevel%
sa-dayjob:
cho off
call c:\Programme\SpamAssassin\sa-config.bat
REM Alle Spam emails welche älter als X-Tage sind werden gelöscht
if %T% LSS 10 set T=%date:~1,1%
if %M% LSS 10 set M=%date:~4,1%
set /A T1=%T%-%KillSpamTage%
set M1=%M%
set J1=%J%
if %T1% GEQ 1 goto datum
if %T1% LSS 1 set /A M1=%M%-1
if %M1% LSS 1 set /A J1=%J%-1
if %M1% LSS 1 set /A M1=12+%M1%
if %M1% EQU 1 set /A T1=31+%T1%
dir %satp%%J%0229killspam.bat
if %errorlevel% GEQ 1 goto ksj
if %M1% EQU 2 set /A T1=29+%T1%
goto sj
:ksj
if %M1% EQU 2 set /A T1=28+%T1%
:sj
if %M1% EQU 3 set /A T1=31+%T1%
if %M1% EQU 4 set /A T1=30+%T1%
if %M1% EQU 5 set /A T1=31+%T1%
if %M1% EQU 6 set /A T1=30+%T1%
if %M1% EQU 7 set /A T1=31+%T1%
if %M1% EQU 8 set /A T1=31+%T1%
if %M1% EQU 9 set /A T1=30+%T1%
if %M1% EQU 10 set /A T1=31+%T1%
if %M1% EQU 11 set /A T1=30+%T1%
if %M1% EQU 12 set /A T1=31+%T1%
:datum
if %T% LSS 10 set T=0%T%
if %T1% LSS 10 set T1=0%T1%
if %M% LSS 10 set M=0%M%
if %M1% LSS 10 set M1=0%M1%
set fdate=%J1%%M1%%T1%
set ksf=%satp%%fdate%killspam.bat
call %ksf%
del /Q %ksf%
REM Postfächer nach "X-Spam-Status: Yes" mails welche aber HAM sind, bzw. alle Mails welche im
REM Unterverzeichnis SPAM und Junk-E-mail sind und nicht erkannt wurden durchsuchen und lernen.
set hamVZ=%satp%ham\
set spamVZ=%satp%spam\
md %satp%
md %spamVZ%
md %hamVZ%
set X=0
:addone
set /A x=%x%+1
for /F "tokens=1,2,3,4,5,6 delims=:\" %%a in ('%fs% /C:"%sy%" %janam%user%x%\*.mai') do (copy /y %janam%user%x%\%%f %hamVZ%%x%%%f)
copy /y %janam%user%x%\%NameUnterverzeichnis%\In_0*.mai %spamVZ%%x%In_0*.mai
copy /y %janam%user%x%\%NameUnterverzeichnis%\In_1*.mai %spamVZ%%x%In_1*.mai
del /Q %janam%user%x%\%NameUnterverzeichnis%\In_0*.mai
del /Q %janam%user%x%\%NameUnterverzeichnis%\In_1*.mai
copy /y %janam%user%x%\%NameUnterverzeichnisOutlook%\*.mai %spamVZ%%x%JM*.mai
for /F "tokens=1,2,3,4,5,6,7 delims=:\" %%a in ('%fs% "Message-ID" %janam%user%x%\%NameUnterverzeichnisOutlook%\*.mai') do (echo del /Q %janam%user%x%\%NameUnterverzeichnisOutlook%\%%g>>%kst%)
REM Email Benachrichtigung an userX wenn SPAM vorhanden
set tf=%satp%Infomail_an_user%x%.php
dir %tf%
if %errorlevel% GEQ 1 goto noinfo
echo \nDiese Email(s) werden automatisch innert %KillSpamTage% Tagen gelöscht.\n\n>>%tf%
echo Sollte es sich nicht um SPAM Emails handeln, bitte unter http://ehome.homeip.net, bzw. IMAP-User direkt vom SPAM Ordner in den Posteingang verschieben. Ist ein als SPAM gefiltertes Email 24 Stunden im Posteingang, lernt der Spamfilter dies und das nächste Email wird automatisch als Nicht-SPAM erkannt.\n>>%tf%
echo Dies gilt auch umgekehrt. Ein vom Spamfilter als Nicht-SPAM erkanntes Email, welches aber ein SPAM ist, bitte in den SPAM Ordner verschieben und 24 Stunden dort belassen. bitte in den SPAM Ordner verschieben und 24 Stunden dort belassen. Der Spamfilter lernt auch dies und löscht die Email innert 24 Stunden automatisch.\n>>%tf%
echo mit freundlichen Grüssen^";>>%tf%
echo $headers = 'From: %fromsmtp%' . "\r\n" .>>%tf%
echo 'X-Mailer: PHP/' . phpversion();>>%tf%
echo ini_set ( "SMTP", "%ipsmtp%" );>>%tf%
echo mail($to, $subject, $message, $headers);>>%tf%
echo ?^>>>%tf%
%php% %tf%
del /Q %tf%
:noinfo
if %maxUserNr%==%x% goto learn
goto addone
:learn
ren %spamVZ%*.mai *.eml
ren %hamVZ%*.mai *.eml
call %sa% --add-to-blacklist %spamVZ%
call %sl% --spam %spamVZ%
call %sa% --add-to-whitelist %hamVZ%
call %sl% --ham %hamVZ%
call %su%
rd /S /Q %spamVZ%
rd /S /Q %hamVZ%
exit
Gruss
Horst
__________________ Gruss
Horst
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von braunhb: 22.03.2012 06:07.
|
|
22.03.2012 06:01 |
|
|
abuechi
Doppel-As
Dabei seit: 31.01.2004
JanaServer: Mod-Version
Themenstarter
 |
|
Hallo braunhb
Was genau läuft nicht? Ich habe das Tool 13.3.2012 zuletzt angepasst. Hast Du die letzte Version?
1. Läuft Spamassassin? -> "spamassassin.exe --lint" -> Bringt er eine Fehlermeldung?
2. Sind die files vom Tool im geleichen VZ wie spamassassin.exe?
3. Stimmt die Kommandozeile in Jana? -> "C:\Programme\spamassassin\sa-spam.bat $FILE$ $SENDADDR$ $RECPTADDR$"
4. Schick mal Dir mal selbst die Testfiles "sample-nonspam.txt" und "sample-spam.txt" in einem Email. (Inhalt einfach mit CTRL-c in eine email und an Dich selbst senden). Was kriegst Du dabei für Logeinträge in sa-spam.log und server.log?
Gruss
abuechi
|
|
22.03.2012 10:13 |
|
|
|
|
 |
Impressum | Sponsoring | Datenschutzerklärung | Haftungsausschluß
|