[Spamcheck] Infomail über den Inhalt des Spamordners

Open-Source-Projekte unserer User
ffl
Userprojekt
Userprojekt
Posts: 269
Joined: 2002-10-23 08:28
Location: Karlsruhe
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by ffl »

Dann mach dich erstmal kundig. Ich habe das Gefühl du weißt nicht genau bescheid was du tust ;-)

Entweder es ist so und du hast eine Fehlermeldung oder es ist nicht so :)
tseng
Posts: 38
Joined: 2002-05-01 15:59
Location: Dortmund
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by tseng »

Hi ich habe ein problem bei mir kommt folgender fehler

Can't locate Date/Parse.pm in @INC (@INC contains: /usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.6.1 /usr/share/perl/5.6.1 /usr/local/lib/site_perl .) at /root/bin/spamcheck/listmaildir line 9.
BEGIN failed--compilation aborted at /root/bin/spamcheck/listmaildir line 9.



habe schonma ins script geguckt mir fehlt wphl Date::Parse und Date::Format


kann ich die irgendwie nachinstallen?


Mein Sys:
Debian Woody
vevelt
Posts: 122
Joined: 2003-08-01 12:18
Location: Itzehoe
Contact:
 

MBox

Post by vevelt »

Hier ein Quick'n'Dirty-Script für das Parsen der Spam-MBOX-Files und generieren von entsprechenden Spam-Mails...

Code: Select all

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);
use Mail::Sendmail;
use Mail::MboxParser;

# Voreinstellungen
# Die Variable $daysreported definiert die Anzahl der Tage, die im Report ausgegeben werden 
my $daysreported = 3;

# Die Variable $maildirshome zeigt auf das Verzeichnis, in dem die Mailverzeichnisse der User zu finden sind
my $maildirshome = "/home/mail";

# Mailheader
my $mailheader = "Spam-Reportn";
$mailheader   .= "-----------nn";
$mailheader   .= "Folgende Mail(s) der letzten ".$daysreported." Tage wurden automatisch als Spam klassifiziert und befinden sich im Spamordner des Postfaches:n";

# Mailfooter
my $mailfooter = "nnBitte kontolliert den Inhalt des Spam-Ordners regelmaessig und leert den Ordner, um wieder Speicherplatz im Postfach freizugeben.n";
$mailfooter   .= "https://<PFAD ZUM WEBMAILER>"; 

# 
my @maileintraege;
my $mailtext;
my @month=("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

# Berechnung der Datumsangaben der letzten durch $daysreported definierten Tage
my @searchdays;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst);

for(my $i = 0; $i < $daysreported; $i++)
{
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time - (86400 * $i));
    $year +=1900;
    push(@searchdays, "$month[$mon] $mday [0-9]+:[0-9]+:[0-9]+ $year");
}

# Einlesen der Unterverzeichnisse/-dateien des $maildirshome
opendir(DIR, $maildirshome) || die "$maildirshome: $!";
my @Eintraege = readdir(DIR);
closedir(DIR);

# Iterieren über das Array mit den Unterverzeichnissen/-dateien
foreach my $eintrag (@Eintraege)
{
    # nur Verzeichnisse, die mit web anfangen berücksichtigen
    if (opendir(DIR, "$maildirshome/$eintrag") && $eintrag =~ /^web/)
    {
        # Prüfen, ob es eine Spam-Mbox gibt
        if (open(DATEI, "$maildirshome/$eintrag/mail/Spam"))
        {
            
            close(DATEI);
            $mailtext = "";
	    $mailtext .= $mailheader;
	    my $status=0;
            foreach my $searchfor (@searchdays)
            {
                @maileintraege = ();
                open(DATEI, "$maildirshome/$eintrag/mail/Spam");
                while (<DATEI>)
                {
                    # Wenn kein From am Anfang der Zeile, überspring!
                    next if not /^From /;
                    # Wenn From MAILER-DAEMON, überspring!
                    next if /MAILER-DAEMON/;
                    # Wenn nicht das gewünschte Datum, überspring!
                    next if not /$searchfor/;
                    my ($help,$sender,$help2,$help3,$month,$day,$time,$year2)=split(/ /) ;
                    chomp($year2);
                    my $temp = $day.". ".$month." ".$year2." ".$time." Uhr: ".$sender."n";
                    push(@maileintraege, $temp);
                }    
                my $laenge = @maileintraege;
                if ($laenge > 0)
                {
		    $status=1;
                    my @sortierteeintraege = sort(@maileintraege);
                    @sortierteeintraege = reverse(@sortierteeintraege);
                    $mailtext .= "n";
                    #print "n";
                    foreach my $zeile (@sortierteeintraege)
                    {
                        $mailtext .= "$zeile";
                        #print "$zeile";
                    }
                }
                close(DATEI);
            }
            $mailtext .= $mailfooter;
            my %mail =  (   To      => $eintrag.'@<SERVERDOMAIN>',
                        From    => 'spamreport@<SERVERDOMAIN>',
                        Subject => 'Spam-Report',
                        Message => $mailtext
                    );
	    if ($status==1)
	    {
            	sendmail(%mail) or die $Mail::Sendmail::error;
	    }
        }
    }
    closedir(DIR);
}
Selbstverständlich geht es besser und schöner. Zum Beispiel über den Mail::MBoxParser, bin aber noch nicht dazu gekommen, das Script generell mal zu überarbeiten...

Gruß, Vevelt.
Anonymous
 

Gentoo Version

Post by Anonymous »

Hallo!

Ich hab eine ZIP-Datei für Leute erstellt, die wie ich einen Server mit Gentoo-Linux betreiben.

Die Pfade sind aufs System angepasst und alles sollte out-of-the-box laufen (wenn Procmail, Spamassassin, ... eingerichtet sind).

Ich müsste jetzt nur noch die Mailadresse vom Autor wissen, damit ich dir die Datei schicken kann und du Sie zum Download freigeben kannst. :-)
society
Posts: 11
Joined: 2004-10-01 15:41
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by society »

Sorry das ich das alte Thema wieder herhole.
Aber wie kann ich das einrichten das es über qMail auch funktioniert? Ich habe nen 1und1 Server mit Plesk und kann dadurch nicht zu Postfix wechseln.

Sourcen für QMail sind nicht vorhanden dank an SW-Soft....

Nen Mini HowTo würde mir sehr helfen. Danke im vorraus!
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by adjustman »

Hallo,
wenn man mit amavisd-new arbeitet, wird bei den neuen Versionen
nicht mehr hits geschrieben sondern score.
Damit die Anzeige in der Benachrichtigung weiterhin die Hits
anzeigt, muss folgendes getan werden:
In der Datei "listmaildir" alle "hits" mit "score" ersetzen.

hth aM
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by schl »

Hallo zusammen,

hat jemand SPAMCHECK auf einem System mit Postfix und Cyrus implementiert? Ich liefere direkt an Cyrus aus und gehe nicht den Weg über PROCMAIL. Spamassassin ist via Content-Filter (Punkt 1-9) eingebunden. Vielleicht kann mal jemand seine Cyrus Lösung Posten. Vielen Dank...
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by flo »

Ich bn gerade dabei, meine Lösung von Cyrus 1.6 auf Cyrus 2.1 umzuschreiben - ich poste dann hier was dazu.

flo.
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by schl »

Ich habe jetzt eine ganz komfortable Lösung für mein Cyrus "Problem" gefunden. Und zwar habe ich das SIEVE Plugin für Squirrelmail installiert. Das funktioniert prima. Und der Benutzer hat die Chance eigene Regeln hinzuzufügen...

Was mir allerdings etwas Probleme macht ist wohl die Definition der Variablen:

Hier die check:

Code: Select all

mailpath="/var/spool/imap/users/$mailuser/Maildir/.SPAM/"
checkmaildir="/root/bin/spamcheck/checkmaildir"
listmaildir="/root/bin/spamcheck/listmaildir"
mailhost="localhost"
maildomain="mail.chl-virtualwork.de"
Und hier die listmaildir:

Code: Select all

$maildir = /var/spool/imap/users/$mailuser/;

if ($maildir eq "-h") {
    print "usage: mdfrm /var/spool/imap/user/$mailusern";
Beim Ausführen von z. B. ./check web1p3 passiert rein garnichts. Wie schaut denn die richtige Konfiguration aus? Danke für Feedback
ffl
Userprojekt
Userprojekt
Posts: 269
Joined: 2002-10-23 08:28
Location: Karlsruhe
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by ffl »

Hmmm keine Ahnung, sieht eigentlich alles richtig aus.
Evtl. ein Rechteproblem? Starte das Bash-Skript mal mit set -x nach #!/bin/bash.

Ich hab mich schon lange nicht mehr drum bemüht, wenn ich mal wieder Zeit hab schau ich mir das mal genauer an.

Gruß
ff
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by schl »

Sorry, ich hoffe, dass ich mich jetzt nicht zu sehr blamiere, aber was meinst Du mit:
Starte das Bash-Skript mal mit set -x nach #!/bin/bash
ffl
Userprojekt
Userprojekt
Posts: 269
Joined: 2002-10-23 08:28
Location: Karlsruhe
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by ffl »

Das "checkmaildir" müsste meiner Erinnerung nach ein Bash-skript sein. Da die Zeile set -x einfügen und dann siehst du ein bisschen mehr davon was passiert.
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by schl »

ok, hier die Ausgabe von CHECK mit set -x

Code: Select all

+ version=0.4 0405201035
+ mailuser=web1p3
+ mailpath=/var/spool/imap/user/web1p3/SPAM/
+ checkmaildir=/root/bin/spamcheck/checkmaildir
+ listmaildir=/root/bin/spamcheck/listmaildir
+ mailhost=localhost
+ maildomain=chl-virtualwork.biz
+ purgetime=14
+ /root/bin/spamcheck/checkmaildir /var/spool/imap/user/web1p3/SPAM/
+ exit 1
tobi
Posts: 121
Joined: 2002-08-02 20:58
Location: München
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by tobi »

ich hab mir diesen threat durchgelesen. doch finde ich leider keine eindeutige aussage ob es für postfix und maildrop eine lösung gibt.

tobi
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by adjustman »

tobi wrote:ich hab mir diesen threat durchgelesen.
offensichtlich nicht.
doch finde ich leider keine eindeutige aussage ob es für postfix und maildrop eine lösung gibt.
hat nix mit Maildrop zu tun. Hat nur mit /Maildir zu tun. Die Doku ist auch vom allerfeinsten. :wink:
User avatar
Phreakazoid
Posts: 39
Joined: 2002-06-11 17:41
Location: Kamen
Contact:
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by Phreakazoid »

Bei mir steht bei "Hits immer 0" siehe hier:

Code: Select all

Hinweis: E-Mails, die aelter als 14 Tage sind, werden geloescht!
Insgesamt befinden sich 10 E-Mails in Ihrem Spam-Ordner.
In den letzen 24 Stunden wurden 3 E-Mails aussortiert.

Datum (mtime)   Absender              Betreff                      Hits
-----------------------------------------------------------------------
27.11.05 16:20  Fox Juergens                                       0   
27.11.05 16:06  Seth Bailey                                        0   
27.11.05 08:02  Eldon                                              0   

Bitte pruefen Sie ob evtl. erwuenschte Nachrichten aussortiert wurden.
Dazu loggen Sie sich entweder per IMAP in Ihr Postfach ein oder verwenden den Webmailer unter http://XXX/


Mit freundlichen Gruessen
XXX

--
created by spamcheck 0.4 0405201035
Woran kann das liegen?
adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by adjustman »

Phreakazoid wrote:Woran kann das liegen?
steht weiter oben
Anonymous
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by Anonymous »

moin,

super script, ich persoenlich nutze auch gentoo + syscp
habe daher das startscript neu geschrieben damit er sich die mailuser und korrekten pfade aus der db holt. wenn interesse besteht pack ichs gern zusammen und stells mit zur verfügung...

nice we

noice
Anonymous
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by Anonymous »

Moin,

für Confixx user die Maildir nutzen eine schöne variante um die Postfacher gesammt checken zu lassen.

im do_check
suche: for i in $(ls /var/mail); do
ersetze mit:for i in $(cut -d":" -f1 /etc/passwd|grep "^web"|grep "p")

damit werden nur die web postfächer von confixx rausgesucht und abgecheckt.

Bzw. hier die do_check von mir angepasst für Confixx und maildir.

Code: Select all

cd /opt/spamcheck

for i in $(cut -d":" -f1 /etc/passwd|grep "^web"|grep "p")
  do
    for u in $(cat /etc/postfix/confixx_virtualUsers|grep -w -m1 "$i"|awk '{print $1}')
    do ./check $i $u
done
done

exit 0
ob das nun Stylisch richtig ist alles ... kA es funktioniert das is das wichtigeste ;-)

LG Bartsi
tj051069
Posts: 16
Joined: 2004-10-26 11:39
 

Alles klappt nur statusmail nicht

Post by tj051069 »

Hallo,

1000 Dank für diesen genialen Mod.
Es funktioniert alles 100%ig, nur die Statusmail wird nicht versendet.
Ich vermute den Fehler in der check Datei.
Kann mir jmd. mal seinen check Code posten?

Gruß
Thomas
tjabo
Posts: 59
Joined: 2004-09-13 20:16
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by tjabo »

wie läuft denn das ganze unter einem anderen system,
denn
2.) Einstellungen für den Spamordner vornehmen
In der Datei /etc/courier/imapd folgende Zeile editieren:

Code:
IMAP_EMPTYTRASH=Trash:7,Spam:14,Sent:30

Damit wird erreicht, dass Spammmails älter als 14 Tage automatisch gelöscht werden.

Auch hier tut ein "/etc/init.d/courier-imap reload" das Nötige.
dies kann ich nicht ausführen, da ich auf meinem system keinen imap finden kann, wie finde ich denn raus, welcher alternative client diesen job bei mir erledigt, sodass ich das script trotzdem laufen lassen kann?

danke,
confixx 3.0, spamassasin (Version 2.64 ), und postfix (Postfix version 2.0.14 )
franky1275
Posts: 6
Joined: 2006-03-16 18:21
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by franky1275 »

Das würde mich auch mal interessieren.

Ich nutze Confixx 3.2.1-pro + Postfix 2.1.5-9 + dovecot (als POP3 + IMAP)
Grade in Sachen "Löschen nach x Tagen", wie bekomme ich das da hin ?

Ich habe eine .procmailrc für web1p1 eingerichtet und die Statusmail geht raus (ich nutze es derzeit noch nicht per cron, also manuelle Ausführung der "do_check" bzw. "check")

Meine .procmailrc:

Code: Select all

DEFAULT="$HOME/"
:0
* ^Subject:.****SPAM****
$HOME/.Spam/

:0
* ^X-Spam-Status: Yes
$HOME/.Spam/
Die Subject-Filterung ist derzeit nur drin, dass ich die Mails
auf die Schnelle einfacher mit dem Subject bestücken kann zum Testen :wink:

So, wie bekomme ich das nun hin, dass das ganze Serverweit genutzt wird ?

Ich habe in der "postfix/main.cf" bereits

Code: Select all

mailbox_command = /usr/bin/procmail -t /etc/.procmailrc
eingetragen

Die /etc/.procmailrc sieht so aus:

Code: Select all

DEFAULT=$HOME/
COMSAT=no
VERBOSE=no

:0
* ^Subject:.****SPAM****
$HOME/.Spam/

:0
* ^X-Spam-Level:.********
$HOME/.Spam/
Laut mail.log wird eine Mail mit dem Subject ****SPAM**** zwar an
/usr/bin/procmail -t /etc/.procmailrc
ausgeliefert, kommt aber laut procmail.log nie dort an und
verschwindet somit im Nirvana.

Die globale /etc/.procmailrc läuft auf root:root mit 777er Rechten (zum Testen), funzt aber nicht.

Stelle ich Postfix wieder zurück auf:

Code: Select all

mailbox_command=/usr/bin/procmail -a "$EXTENSION"
und nutze somit wieder die Userbezogene .procmailrc
wird wieder fein sortiert, wie's sein soll
Und nu ??




Falls ich nochwas an Config-Info's für Euch vergessen hab, lasst es mich wissen, wird dann hier nachgreicht 8)

Nochwas:

DANKE FÜR DIESES SCRIPT, das ist genau dass, was ich noch gesucht habe :!:
ryukia
Posts: 58
Joined: 2004-07-16 14:40
Location: Karlsruhe
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by ryukia »

noicenotea wrote:moin,
super script, ich persoenlich nutze auch gentoo + syscp
habe daher das startscript neu geschrieben damit er sich die mailuser und korrekten pfade aus der db holt. wenn interesse besteht pack ichs gern zusammen und stells mit zur verfügung...
Da ich grad nen Server mit SysCP aufgesetzt habe, wäre das durchaus sehr interessant ^_-

Edit: Da isses ja http://syscp-forum.org/index.php/topic,2556.0.html

Ciao
Ryukia ;-)
franky1275
Posts: 6
Joined: 2006-03-16 18:21
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by franky1275 »

Okay, mittlerweile hab ich's am Laufen.
Die Löschung mach ich dann eben über einen separaten CRONJOB

ABER:
Ich möchte Spamassassin beibringen, dass er aus dem Verz.
.Spam dann eben die Mails lernt.
So kann man auch Mails mit

Code: Select all

^X-Spam-Status: NO
dahin
dorthin verschieben und Spamassassin lernt denn draus.

Problem:
Wie bringe is das Spamassassin bei die Verzeichnisse zu lernen ?


Ausserdem ist mir aufgefallen, dass diese Verschobenen Mails OHNE
Subject angezeigt werden.
Mir ist klar warum (Subject: ****SPAM**** wird da ja bereinigt), aber
wie kann krieg ich das hin, dass Mails ohne das Subject ****SPAM****
in der Infomail auch mit Subject angezeigt werden.
Notfalls ginge es auch komplette ohne Bereinigung.
Aber ich hab keinen Plan, was ich da wo ändern muss...


DANKE
chhaas
Posts: 3
Joined: 2007-04-05 15:58
Location: Stuttgart
 

Re: [Spamcheck] Infomail über den Inhalt des Spamordners

Post by chhaas »

Hallo,
flo wrote:Ich bn gerade dabei, meine Lösung von Cyrus 1.6 auf Cyrus 2.1 umzuschreiben - ich poste dann hier was dazu.

flo.
hat hier nun schon jemand Spamcheck auf Postfix mit Cyrus Imapd (ohne Procmail, sondern direkt via lmtp) angepasst und kann seine Loesung posten?

Insbesondere interessiert mich hierbei das Auslesen des Spam-Ordners und Generieren der Spamreport-Email das bei Cyrus Imapd ja anders funktionieren muss, als mit dem MailDir-basierten Courier-Imapd.

Vielen Dank und schoene Ostern wuenscht
chhaas.
Post Reply