[Spamcheck] Infomail über den Inhalt des Spamordners
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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 :)
Entweder es ist so und du hast eine Fehlermeldung oder es ist nicht so :)
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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
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
MBox
Hier ein Quick'n'Dirty-Script für das Parsen der Spam-MBOX-Files und generieren von entsprechenden Spam-Mails...
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.
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);
}
Gruß, Vevelt.
Gentoo Version
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. :-)
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. :-)
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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!
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!
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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...
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...
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
Ich bn gerade dabei, meine Lösung von Cyrus 1.6 auf Cyrus 2.1 umzuschreiben - ich poste dann hier was dazu.
flo.
flo.
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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:
Und hier die listmaildir:
Beim Ausführen von z. B. ./check web1p3 passiert rein garnichts. Wie schaut denn die richtige Konfiguration aus? Danke für Feedback
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"
Code: Select all
$maildir = /var/spool/imap/users/$mailuser/;
if ($maildir eq "-h") {
print "usage: mdfrm /var/spool/imap/user/$mailusern";
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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.
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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
tobi
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
offensichtlich nicht.tobi wrote:ich hab mir diesen threat durchgelesen.
hat nix mit Maildrop zu tun. Hat nur mit /Maildir zu tun. Die Doku ist auch vom allerfeinsten.doch finde ich leider keine eindeutige aussage ob es für postfix und maildrop eine lösung gibt.
- Phreakazoid
- Posts: 39
- Joined: 2002-06-11 17:41
- Location: Kamen
- Contact:
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
Bei mir steht bei "Hits immer 0" siehe hier:
Woran kann das liegen?
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
steht weiter obenPhreakazoid wrote:Woran kann das liegen?
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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.
ob das nun Stylisch richtig ist alles ... kA es funktioniert das is das wichtigeste ;-)
LG Bartsi
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
LG Bartsi
Alles klappt nur statusmail nicht
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
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
wie läuft denn das ganze unter einem anderen system,
denn
danke,
confixx 3.0, spamassasin (Version 2.64 ), und postfix (Postfix version 2.0.14 )
denn
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?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.
danke,
confixx 3.0, spamassasin (Version 2.64 ), und postfix (Postfix version 2.0.14 )
-
- Posts: 6
- Joined: 2006-03-16 18:21
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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:
Die Subject-Filterung ist derzeit nur drin, dass ich die Mails
auf die Schnelle einfacher mit dem Subject bestücken kann zum Testen
So, wie bekomme ich das nun hin, dass das ganze Serverweit genutzt wird ?
Ich habe in der "postfix/main.cf" bereits
eingetragen
Die /etc/.procmailrc sieht so aus:
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:
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 :!:
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/
auf die Schnelle einfacher mit dem Subject bestücken kann zum Testen
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
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/
/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"
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 :!:
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
Da ich grad nen Server mit SysCP aufgesetzt habe, wäre das durchaus sehr interessant ^_-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...
Edit: Da isses ja http://syscp-forum.org/index.php/topic,2556.0.html
Ciao
Ryukia ;-)
-
- Posts: 6
- Joined: 2006-03-16 18:21
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
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 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
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
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
Re: [Spamcheck] Infomail über den Inhalt des Spamordners
Hallo,
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.
hat hier nun schon jemand Spamcheck auf Postfix mit Cyrus Imapd (ohne Procmail, sondern direkt via lmtp) angepasst und kann seine Loesung posten?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.
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.