Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Lokaler Spam-Mail Filter (https://www.delphipraxis.net/7858-lokaler-spam-mail-filter.html)

wb32 23. Aug 2003 09:37


Lokaler Spam-Mail Filter
 
Hallo Leute ...

Folgende Frage...
Ich hab endgütlig die Nase voll von diesen lästigen Spammails und will mir ein Tool bauen das folgendes (etwa so in der Art) machen soll...

Outlook Express o.ä. holt normalerweise von z.b. pop.gmx.de die mails ab...

ich will mein programm mit frei definirbaren filtern dazwischen schalten...

Also praktisch so :


POP Server --> lokales Filterprogramm --> O-Express

Wie ich die Mails abhole vom Server ist klar dazu nehme ich z.b. die indy pop kompo, wie aber kann ich die dann mit dem OE aus meinem Programm holen ? Lokaler pop Server oder was wäre die eleganteste Lösung ???

Und gleich noch eine Frage, wenn ich die Mail mit der Indy Kompo abhole hab ich Sie in meinem Programm, wenn dieses beendet wird ist aber natürlich die Mail weg :( hat da jemand ne Idee ?

Danke für konstruktive Vorschläge ?

Stanlay Hanks 23. Aug 2003 10:17

Re: Lokaler Spam-Mail Filter
 
Hi!
Also mit deinem Hauptproblem kann ich dir leider nicht helfen...ich hab mich damit noch nicht beschäftigt.
Aber wie wärs, wenn du die Emails einfach speichers ?! :wink: Dann gehen die bestimmt nicht verloren. :wink:

Man liest sich, Stanlay :hi:

Daniel B 23. Aug 2003 10:17

Re: Lokaler Spam-Mail Filter
 
Hi,

Du weisst aber schon das der OE sehr wohl einen Filter hat, den man sehr frei konfigurieren kann und Mails sogar auf dem Server löschen kann? Vielleicht solltest Du erstmal damit spielen, den der Filter vom OE, richtig angewandt, ist sehr wirkungvoll! ;)

wb32 23. Aug 2003 10:26

Re: Lokaler Spam-Mail Filter
 
*gg* ja ich weiß, den verwende ich ja auch...

mir gehts auch mehr darum wie man das technisch lösen kann, ich mache die meisten meisten projekte aus reinen lernzwecken um einfach irgendwann mal mein wissen anwenden zu können...

wb32 23. Aug 2003 15:42

Re: Lokaler Spam-Mail Filter
 
na wat denn nu :) ?
hat keiner mehr ne idee ?

Dani 23. Aug 2003 18:08

Re: Lokaler Spam-Mail Filter
 
Edit:

Irgendwie hab ich wohl am Thread vorbeigelesen... warum schreibe ich hier was DanielB schon gepostet hat??

Kann jemand diesen Post bitte löschen? Sry :(

wb32 23. Aug 2003 21:08

Re: Lokaler Spam-Mail Filter
 
also echt leute wollt ihr mich veräppeln ?

ich habe nicht gefragt ob ihr outlook toll findet oder in welchem programm man wie spam filtert... wäre mal bitte irgendwer so nett sich zu erbarmen und meine fragestellung zu lesen ?

Darty 23. Aug 2003 21:35

Re: Lokaler Spam-Mail Filter
 
Willst sowas machen wie dieses hier ?? http://www.spampal.de/

Christian Seehase 23. Aug 2003 21:35

Re: Lokaler Spam-Mail Filter
 
Moin wb,

evenutell könnte es Dir helfen, wenn Du Dir mal die Sourcen eines solchen Filters anschaut. Wenn ich nicht irre, ist Spam Assassin ein Script, sollte sich also als Anschauungsobjekt recht gut eignen.

Da ich jetzt nicht weiss, wie man Filter in OE einbinden kann (falls es denn überhaupt geht) kann ich leider nur eine Idee beisteuern, wie man es machen könnte.

Dein Programm stellt einen, rudimentären, POP3 Server zur Verfügung, bei dem OE die Mails abholen will. Sobald diese Anfrage kommt holt Dein Programm die Mails bei den tatsächlichen Servern ab, filtert sie, und bereitet sie auf oder setzt den Betreff entsprechend, oder wie auch immer Du es haben willst, und liefert sie an OE aus.
Das heisst: Der eigentliche MailClient für die Abholung ist Dein Programm, OE dient zum Versenden, und Verwalten der Mails.

Chewie 23. Aug 2003 21:38

Re: Lokaler Spam-Mail Filter
 
So macht es auch der Norton AV.

wb32 23. Aug 2003 21:40

Re: Lokaler Spam-Mail Filter
 
genau so hab ich es mir jetzt auch gedacht, ich muss die mails ja nichtmal zwischenspeichern...

nun wieder zum eigentlichen problem, dem lokalen pop server von dem outlook meine mails abholt, und dieser holt sie direkt vom pop server...

man könnte das z.b. so lösen in dem man den aufruf mit

localhost@pop.gmx.de@username+kennwort an mein programm schickt un der dann

pop.gmx.de mit username und kennwort die mails abholt...

nur wie gesagt, wie geht das mit dem lokalen popserver ?

wb32 23. Aug 2003 22:04

Re: Lokaler Spam-Mail Filter
 
@M.Knebel genau sowas in der art oder wie norton nur eben in delphi :)

muss doch irgendwie möglich sein...

Darty 23. Aug 2003 22:23

Re: Lokaler Spam-Mail Filter
 
Zitat:

Zitat von wb32
@M.Knebel genau sowas in der art oder wie norton nur eben in delphi :)

muss doch irgendwie möglich sein...

Kannst Du dort den Source nicht etwas reingucken ? Ist zwar C aber vielleicht den Prinzip .. Oder jemand anders kann Dir da dabei helfen ...

Ich kann leider nicht helfen da ich mich damit noch nicht beschäftigt hatte ..

negaH 23. Aug 2003 22:26

Re: Lokaler Spam-Mail Filter
 
Also interessant für mich wäre wenn der Filter lernt was ich unter Spam verstehe. Ich denke da an sowas wie Neuronale Netze die die EMails klassifizieren. Material dieses Netz zu trainieren haben wir ja genügend voehanden. Mann müsste also einmal eine gewisse Anzahl an Mails klassifizieren und diese dem Netz als Trainingsinput vorlegen. Während der Arbeit erzeugt das Netz eine Abschätzung inwieweit eine Mail ein Spam ist. Sollte der Wert Prozentual z.B. > 75% sein so wird die Mail als Spam eingeordnet. Sollte er > 30% sein so wird sie als möglicher Spam eingeordnet. Nun klassifiziert man immer wieder solche Mails und trainiert das Netz erneut. Somit dürften in kurzem Zeitraum keine Spams mehr durchkommen und das Netzwerk mit hoher Wahrscheinlichkeit neue Spams entdecken.

Ich träume von einer solchen Methode da mein Outlook Filter eben mittlerweile viel zu kompliziert geworden ist. Dadurch verschluckt er aber auch Messages die keine Spams sind.

Beim NN würde der Anwender fortlaufend das Netz füttern und dieses so immer besser lernen zu unterscheiden. Warum und wie das Netz seine Filterung aufbaut wäre demnach absolut irrelevent für den Anwender !

Allerdings bis jetzt sehe ich noch keine Möglichkeit wie man die EMails so zerlegt das das Netzwerk diese als Input auswerten könnte.

Was haltet ihr davon ?

Gruß Hagen

Christian Seehase 23. Aug 2003 22:41

Re: Lokaler Spam-Mail Filter
 
Moin Hagen,

das wäre zwar durchaus eine Idee, aber ich denke mal, eines nach dem anderen.
Oder hast Du auch schon einen Tip für einen Lokalen Pop3 Server?

Chewie 23. Aug 2003 22:46

Re: Lokaler Spam-Mail Filter
 
Zitat:

Zitat von negaH
Was haltet ihr davon

Klingt nach einem Thema für eine Diplomarbeit :wink:

Nein, im Ernst, die Idee ist interessant, aber ich kann die Machbarkeit oder auch den möglichen Nutzen nicht beurteilen, da ich kaum einen Schimmer hab, wie NNs funktionieren (na ja, in 3 Jahren vielleicht).

Aber das dringende Problem ist jetzt wohl erstmal: wie bringen wir einen E-Mail-Client dazu, die Mails statt bei pop.gmx.de:110 bei sagen wir 127.0.0.1:33333 abzuholen?
Gibt es irgendeine Möglichkeit, ersteres IP-Port-Paar systemglobal durch zweiteres zu ersetzen? Denn so können wir unseren eigenen POP-Server ins Spiel bringen.

negaH 23. Aug 2003 22:56

Re: Lokaler Spam-Mail Filter
 
Naja, bei Outlook ändert man einfach die Konto Daten auf den eigenen POP3 Server. Dieser sollte dann die Daten vom originalen POP3 Server holen. Insoweit würdest du einen EMail Server coden.

Oder aber du codest sowas wie einen Proxy der nur die binären Daten von Outlook an den realen POP3 Server weiterleitet.

Gruß Hagen

Chewie 23. Aug 2003 22:58

Re: Lokaler Spam-Mail Filter
 
Die Kontodaten direkt zu ändern hat zwei große Nachteile:

1. Es funktioniert nur bei einem Mailclienten
2. Man kann die eigentlichen Kontodaten in den Kontoeinstellungen nicht sehen, sondern man sieht die IP und Port des Filter-POP3-Server. Wenn man den Zettel mit der Serveradresse verlegt hat, kann man da nicht mehr nachsehen.

Zitat:

Oder aber du codest sowas wie einen Proxy der nur die binären Daten von Outlook an den realen POP3 Server weiterleitet.
Sowas in der Art wäre wohl das beste, doch was meinst du in diesem Zusammenhang mit "binäre Daten von Outlook"?

negaH 23. Aug 2003 22:59

Re: Lokaler Spam-Mail Filter
 
so appropo Neuronale Netze. Das Netz selber ist kein Problem da ich schon ein solches sehr flexibles Netz fertig habe. Das Problem ist wie die EMails vorher konvertiert werden müssen, damit das Netz sie auswerten kann und dabei auch die relevanten Unterscheidungsmerkmale zwischen Spams und echten Mails erkennen kann.

Ideen ? Kennt jemand einen kleinen Source der die EMails in deren wichtige Bestandteile zerlegt ?.

Gruß Hagen

Chewie 23. Aug 2003 23:00

Re: Lokaler Spam-Mail Filter
 
In welches Format müssten die Mails konvertiert werden?

Christian Seehase 23. Aug 2003 23:10

Re: Lokaler Spam-Mail Filter
 
Moin Zusammen,

wb's Problem ist im Moment sich zwischen POP3 Server und OE zu hängen.
Es sollte erst einmal dieses Problem gelöst werden, bevor es an andere Einzelheiten geht.
Ansonsten wird es hier nämlich etwas OT.

Vielleicht ist dieses Thema ja interessant genug um, beispielsweise unter der Rubrik Projekte weitergeführt zu werden.

negaH 23. Aug 2003 23:11

Re: Lokaler Spam-Mail Filter
 
Für's NN ?

Tja in ein solches das das Netz es auswerten kann und die Unterschiede zwischen Spams und guten Mails erkennen kann. Das ist ja gerade mein Problem. Für die Geschwindigkeit des Netzes wäre es gut wenn man mit wenigen Inputs auskäme. Ich denke mal weiter drüber nach. Da Mails meistens kurz sind denke ich ich werde es mit einer Fourier Transformation probieren die ja das ASCII Muster in ein Frequenzspektrum des Vorkommens dieser Zeichen umwandelt. Dies würde separat für den Mailheader und body vorgenommen. Der Output der FFT wird runterscaliert so das das Netz mit z.B. 1024-2048 Input Neronen auskommt. Ich werde das mal testen, es müsste ja dann auch trainierbar sein um zwischen PASCAL und C++ Source unterscheiden zu können. Dies wird er erste Testfall sein.

Gruß Hagen

negaH 23. Aug 2003 23:17

Re: Lokaler Spam-Mail Filter
 
Zitat:

Die Kontodaten direkt zu ändern hat zwei große Nachteile:

1. Es funktioniert nur bei einem Mailclienten
2. Man kann die eigentlichen Kontodaten in den Kontoeinstellungen nicht sehen, sondern man sieht die IP und Port des Filter-POP3-Server. Wenn man den Zettel mit der Serveradresse verlegt hat, kann man da nicht mehr nachsehen.

Wie willst du es anders machen ? Unser KEN! MailServer wird exakt so konfiguriert. Outlook muß auf deinen Server zugreifen und konfiguriert werden. Dein Server wiederum muß das reale EMail Konto kennen, und natürlich alle Zugangsdaten. Vorteil bei der Sache ist es das du dann den Server soweit erweitern kannst das er mehrere Subkonten auf ein Houtkonto mappt. So macht es unser KEN! Server. Wir haben eine Haupt-EMail Adresse und die wird intern zerlegt in Subkonten.

Zitat:

Sowas in der Art wäre wohl das beste, doch was meinst du in diesem Zusammenhang mit "binäre Daten von Outlook"?
Beim Mailserver werden ja per POP3 Protokoll die EMails geholt. D.h. im ersten Vorschlag codest du einen Mailserver der eigentlich auch Outlook sofort ersetzen könnte wenn er noch das Clientinterface hätte.

Der Vorschlag mit dem Proxy schleift 1 zu 1 di Kommunikation von Putlook zum POP3 Server durch. Also sowas wie Tunneln. Allerdings auch hier muß Outlook auf die IP/Port Adresse dieses Proxy eingestellt werden und der Proxy auf die Adresse des POP3 Servers.

Gruß Hagen

Chewie 23. Aug 2003 23:28

Re: Lokaler Spam-Mail Filter
 
OK, ich meinte eben sowas: Alle IP-Pakete mti einer bestimmten Adresse und einem best. Port werden auf Adresse und Port des lokalen Servers geändert.
Ich bin allerdings nicht sicher, ob das ohne einen Treiber, der bei ausgehenden Paketen genau das tut, machbar ist (oder ohne die winsock.dll entsprechend zu patchen).

negaH 23. Aug 2003 23:55

Re: Lokaler Spam-Mail Filter
 
Treiber oder WinSock patchen oder den Packetsniffer Packets.dll nutzen. Ich halte aber davon überhaupt nichts und es wird noch ein anderes Problem entstehen. Die IP die Outlook nimmmt um den POP3 Server zu connected wird per DNS Lookup geholt. Damit du nun gefiltert per Packet Sniffer reagieren kannst muss dein Packet Sniffer selber die IP des POP3 Servers erstmal ermitteln. Somit muß dein Packet Sniffer wiederum die POP3 Server Adresse kennen um per DNS die IP zu ermitteln damit er weiß welche packet er sniffen muß. Wie gesagt ich halte nichts davon und würde einen EMail Server coden. Dazu müsste alles in Indy vorhanden sein. Die Adressinformationen könnte man mit hoher Wahrscheinlichkeit aus der Registry extrahieren, dann diese durch die eigenen des Mail Servers ersetzen, fertig.

Gruß Hagen

wb32 24. Aug 2003 10:06

Re: Lokaler Spam-Mail Filter
 
auweia ...

also das mit der ip herausfinden ist kein problem das habe ich irgendwo anders schonmal gebraucht, dürfte nicht die schwierigkeit sein...

paketsniffer is quatsch das muss anders gehen, in den tools die bereits existieren wird im outlook einfach die loakle adresse eingegeben und pop3.server usw an diese adresse angehangen...

wer nochmal schauen will kann sich hier funktion und einstellungen ansehen

Beispiel

negaH 24. Aug 2003 11:22

Re: Lokaler Spam-Mail Filter
 
Das ist doch ne gute Idee, so arbeiten FTP Gateways und FTP Proxies auch.

Gruß Hagen

wb32 24. Aug 2003 20:32

Re: Lokaler Spam-Mail Filter
 
nu sind wir immer noch nich weiter :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz