PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : procmail Wörter filtern



orbb
04.09.02, 22:35
Hi,
ich habe procmail am laufen und filtere Mails nach Adressen. Da Spam bei mir immer schlimmer wird (immer wieder andere Absender) möchte ich die Mails so filtern, dass man nach Wörtern sucht z. B sex,dialer usw. Diese Mails interessieren mich überhaupt nicht und gehen mir ziemlich aufn Senkel und werden von Tag zu Tag mehr. Ich hab schon überall rumgesucht aber keine gute Anleitung gefunden. Also was ich will: das procmail meine Mails nach diesen Wörtern sucht und gleich löscht. Kann mir da jemand helfen? Welchen Eintrag muss ich in meiner procmail.rc machen? Bin für jede Antwort dankbar.
Gruss
Olaf

bluesky666
04.09.02, 22:46
Hi,

ich mach das per mysql Datenbank und einem script das mir dann daraus ne .procmailrc erstellt.
sieht dann etwa so aus was da raus kommt:

für Adressen:

:O
* ^From[ :].*@*.fairad.de
! spammail@localhost

für Subjects:

:O
* ^Subject[ :].*Fristlose Kündigung*
! spammail@localhost

mach das mit ner php seite und lynx als ausgabe in .procmailrc

Gruß

Helge

orbb
04.09.02, 23:07
Hi bluesky,
so ganz hab ich das nicht verstanden mit der Datenbank. Also das mit den Adressen ist ja klar. So hab ich das denk ich auch. Hier mal ein kleiner Auzug aus meiner .procmailrc:
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
MAILDIR=$HOME/Mail # You'd better make sure it exists
DEFAULT=/var/spool/mail/xxxxx
LOGFILE=$MAILDIR/procmail.log
VERBOSE=on
#LOCKFILE=$HOME/.lockmail

:0 # Anything from thf
* ^From[ :].*@iwon.com
.trash # '/dev/null' #mail löschen

:0
* ^From[ :].*@.com
.trash # '/dev/null'

:0
* ^From[ :].*o-ton@gmx.net
.trash # '/dev/null'


:0
* ^From[ :].*@terra.cl
.trash # '/dev/null'

So filtere ich Adressen. Blos diesen Satz kapier ich net so ganz:

"mach das mit ner php seite und lynx als ausgabe in .procmailrc"

In Prinzip muss ich doch auch nur das

für Subjects:
:O
* ^Subject[ :].*dialer* (z:B.)
! spammail@localhost

eintragen oder?

bluesky666
04.09.02, 23:14
Ja, nur ich mach das mit ner Datenbank aus der ich dann die.procmailrc erstelle, da ich hier ca 10 Email Accounts habe und nicht für jeden Account die Datei erstllen möchte, das geht dann automatisch, find ich persönlich einfacher für meinen Zweck.

Gruß

Helge

Beatmaster
04.09.02, 23:35
Hallo,

also ich muss sagen daß http://ordb.org eine ziehmlich geniale Sache ist!
Wer einen eigenen Mailserver im Internet betreibt, der tut sich etwas Gutes, diesen Mailserver zur Nutzung von ordb.org zu bewegen (ist eigentlich ganz einfach -> faq)!

Dann braucht man sich fast nicht mehr die Mühe einer procmailrc zu machen :)
Es sei denn die Ex nervt ;)

Grüße aus Bayreuth,
Michael

bluesky666
04.09.02, 23:46
Das ist zwar eine feine Sache aber wenn man seine externen Mails per pop3 abholt hilft das nicht viel.

Gruß

Helge

Hans-Georg Normann
05.09.02, 19:23
Hier mal ein Auszug meiner .procmail

PATH=/bin:/usr/bin:/usr/bin
MAILDIR=/var/mail #you'd better make sure it exists
DEFAULT=$MAILDIR/hans #completely optional
LOGFILE=$HOME/logs/procmail.log #recommended
LOCKFILE=$HOME/.procmail.lock
LOGABSTRACT=ALL
VERBOSE=ON

########################domain mail akzeptiren ##########

:0H
* ^FROM: GMX Inside
$MAILDIR/hans


# Mails mit JavaScript ##################################
:0HB
* ^*SCRIPT LANGUAGE=JavaScript*
$MAILDIR/hans.js


################################################
# die etwas weichere Tour verschiebt in ein extra Postfach
#
#lösche wenn Delivered-To:....... ####################
:0H
* ^Delivered-To: GMX delivery to h.g.normann@gmx.de.*
* !^To[ :].*normann.*
$MAILDIR/hans.null

#lösche adult site ###############################
:0B
* .*adult.*
* .*site*
$MAILDIR/hans.null

# lösche business nigeria contract ######################
:0B
* .*business*
* .*nigeria*
* .*contract*
$MAILDIR/hans.null

# lösche loose your weight ############################
:0B
* .*loose.*
* .*weight*
$MAILDIR/hans.muell

################################################## #
# hier der ganz harte teil
########################deleting ######################
:0H
* ^Subject: Masterportal24
/dev/null


Als Mailclient verwende ich KMail. Dieses kann Mails aus verschiedenen Dateien lesen. Für die meisten anderen Mailclients muß meines Wissens die Datei in /var/mail stehen und den gleichen Namen wie das Login haben.

Die Filter sind noch sehr einfach. Trotzdem wird schon eine hohe Trefferquote erreicht. Kann aber schon mal vorkommen, dass die Daily News von www.tagesschau.de im Mülleimer landet, weil mal wieder ein Pornoring aufgeflogen ist. Mit ausgeklügelteren Filtern wird man das auch wohl lösen können.

Hans

schnebeck
05.09.02, 20:47
Sehr guter Spamfilter:
http://spamassassin.taint.org/

Auszug aus meiner ~.progmailrc:

PATH=/bin:/usr/bin:/usr/local/bin:/usr/sbin
LOGFILE="/var/log/procmail"
USER=`whoami`
DELIVERMAIL="/usr/cyrus/bin/deliver"
IMAP="$DELIVERMAIL -a $USER -q -m user.$USER"
SPAMIT="$IMAP.Trash"

################################################## #########
### Spam Assassin
################################################## #########

:0fw
| spamassassin -P -F0 -a

:0
* ^X-Spam-Status: Yes
| $SPAMIT


################################################## #########
### Simple spam traps
################################################## #########

# Mass mailing, no "To:"
:0
* !^To:
| $SPAMIT

:0
* !^From:
| $SPAMIT

:0
* !^Subject:
| $SPAMIT
[...]

Spam wird damit automatisch nach $SPAMIT verschoben. Eine solche Mail sieht dann so aus:

SPAM: This mail is probably spam. The original message has been altered
SPAM: so you can recognise or block similar unwanted mail in future.
SPAM: See http://spamassassin.org/tag/ for more details.
SPAM:
SPAM: Content analysis details: (14.3 hits, 5 required)
SPAM: FROM_NAME_NO_SPACES (-0.1 points) From: no spaces in name
SPAM: MIME_ODD_CASE (4.3 points) MiME-Version header (oddly capitalized)
SPAM: PORN_11 (1.2 points) BODY: Uses words and phrases which indicate porn (11)
SPAM: PORN_10 (0.6 points) BODY: Uses words and phrases which indicate porn (10)
SPAM: FRONTPAGE (4.4 points) BODY: Frontpage used to create the message
SPAM: PORN_3 (0.5 points) Uses words and phrases which indicate porn (3)
SPAM: DATE_IN_PAST_12_24 (1.7 points) Date: is 12 to 24 hours before Received: date
SPAM: CTYPE_JUST_HTML (1.7 points) HTML-only mail, with no text version
SPAM:
SPAM: -------------------- End of SpamAssassin results ---------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Hallo Leute</title>
</head>
<body>
<p class="MsoNormal"><font size="2" face="Arial"><span style="color: black">Hallo
Leute,<o:p>
</o:p>
<o:p>
</o:p>
</span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="color: black">wir
haben es endlich geschafft !! Einen echten Hardcore-Porno Dialer zu knacken !! <o:p>
.
.
.
.
Bye

Thorsten

orbb
06.09.02, 12:47
Hi, danke erst mal für die vielen Hilfen.
@bluesky666
Das mit der Datenbank ist wohl etwas zu komplex für mich. Hab eh nur 2 Mailadressen.
@Beatmaster
Es ist so wie es bluesky gesagt hat, mein Mailserver ist nur mit dialin im Netz, hole also via Pop 3 meine Mails ab.
@Hans- Georg Normann
Ist ein interessanter Auszug. Aber ich habe wohl immer noch nicht kapiert, wie man mit procmail Mails ins Nirvana schickt, die nur bestimmte Wörter haben, ganz unabhängig von den Adressen, die ich ja wie oben beschrieben eh schon ausfiltere. Wie lautet der Eintrag in der .procmailrc, wenn ich z.B. eine Mail mit dem Wort "dialin" löschen will?
@schnebeck
Spamassasin habe ich mir auch schon überlegt, aber das wird dann alles zuviel. Ich habe ja schon gelesen das soetwas mit procmail gehen soll, bloß ich weiß eben nicht wie.

schnebeck
06.09.02, 14:47
@orbb

Spamassassin ist doch eine Procmail-Lösung ;) - nur das Filtern wird dir abgenommen und zusätzlich eine Filterbewertung vorgenommen. In der Grundkonfiguration ist das Teil in 5 Minuten installiert und in deine Procmail eingebunden. Wenn du willst kannst du noch eigene Whitelists und Blacklists einbinden, aber die Trefferquote der eingebauten Regeln ist beeindruckend!

Give it a try :)

Bye

Thorsten

Hans-Georg Normann
06.09.02, 15:13
..... Wie lautet der Eintrag in der .procmailrc, wenn ich z.B. eine Mail mit dem Wort "dialin" löschen will?

Angenommen du suchst das Wort dialin im Header:

:0H
* .*dialin
/dev/null

Der Aufbau der Datei ist:

[list=1]
Zeile des Blocks Einleitung, wobei H nur den Header und B nur den Body untersucht. Ohne Angabe wird beides dursucht
ein oder mehrere Suchmuster. Die Syntax ist ähnlich wie bei grep, egrep, fgrep, etc.
genau eine Ausführungszeile. Die Ausführungszeile wird nur angewandt, wenn alle Suchmuster des Blockes zutreffend waren. Bei Ausführung wird die weitere Untersuchung abgebrochen. Beginnt die Ausführungszeile mit einem !, dann folgt ein shellscript. In diesem Fall wird procmail jedoch nicht terminiert!
[/list=1]

Ansonsten finde ich, dass ich mich auch mal mit assassin befassen sollte obwohl wie man sieht, dieses nicht unbedingt notwendig ist. (Kommt wohl auch auf die Menge der Mails und die Zuverlässigkeit der Mailfilter an)

Hans

Belkira
06.09.02, 17:34
[list=1]
Zeile des Blocks Einleitung, wobei H nur den Header und B nur den Body untersucht. Ohne Angabe wird beides dursucht

Ohne Angabe wird nur der Header durchsucht. man procmailrc ist doch prima, Beispiele in man procmailex.

tucer
06.09.02, 18:20
ehm hab mal ne "kleine" spamliste drangehängt, kann eventuell jemand gebrauchen und vieleicht auch was nützliches drauss machen ;)

mfg manuel

Hans-Georg Normann
06.09.02, 20:34
Solche Spamadressen sind leider für nix zu gebrauchen.:( Die Spammer wechseln die Adresse schneller als du dein Unterhemd!

GMX bietet das mit der Adresse auch, ich habs wegen Erfolglosigkeit abgeschaltet. Ich mag in Procmail noch keine 30 Filter definiert haben. Nachdem ich rausgefunden habe, wie's funktioniert hat der Rest kaum länger als eine Stunde gedauert. Das ist weit effektiver als der GMX-Kram.

@Belkira, hast recht. Default dursucht nur den Header.

Hans

tucer
07.09.02, 10:46
oh, jetzt muss ich mich ertsmal entschuldigen, ich hab euch die totall falsche datei drangehängt, also hier die richtige... ;)


mfg manuel

Belkira
07.09.02, 12:20
Die mit '@' drin sind doch überwiegend gefälschte Adressen, die entweder garnicht existieren, nur vorrübergehend angelegt wurden oder schon gekilled wurden. Hast Du von einer der Adressen wirklich über einen längeren Zeitraum mehrfach SPAM bekommen, daß sich die Aufnahme in eine Liste lohnt?

Und noreply@sourceforge.net gehört da doch nicht rein. :rolleyes:

Geschickter ist es, wie bei einer Firewall zu filtern. Alle definitiv gewünschten Absender akzeptieren, zusätzlich das Empfängerfeld prüfen, HTML Mails und in fremden Zeichensatzcodierungen verfaßte Mails aussortieren.

tucer
07.09.02, 12:30
Also die liste ist nicht ganz komplett von mir, aber ich mach das immer so das ich Mails die ich nicht haben will in ~/Mail/spam speicher und jede woche ein script starte das alle diese absender adressen was in spam sind in die Datei schreibt. Und wenn ich mail von sourceforge bekomm die ich nicht haben will, oder auch nicht wüsste das ich mich bei dennen eingetragen habe, dann sind sie ebenfalls für die spammerliste geeignet. ;)

mfg manuel

Belkira
07.09.02, 12:59
Du bekommst nichts von SourceForge, wenn Du dort nicht einen Account hast oder da nicht irgendwo aktiv warst und Deine e-mail Adresse hinterlassen hast.

tucer
07.09.02, 13:09
stimmt soweit schon, aber ich sagte ja:


Also die liste ist nicht ganz komplett von mir...

mfg manuel