tfaruk1 Opublikowano 3 Marca 2005 Zgłoś Opublikowano 3 Marca 2005 Chciałbym napisać program (pod Windowsa), do wykrywania spamu w poczcie elektronicznej, który na maszynie użytkownika działałby w ten sposób, że byłby pośrednikiem między serwerem POP3 (ewentualnie IMAP) a dowolnym programem pocztowym. Moj program miałby analizować treść wiadomośći, w przypadku wykrycia, że jest to spam dodawać np. prefix do tematu lisu. Problem polega na tytm, jak za pomocą mojego programu przechwycić list aby go zanalizować a następnie dalej przekazać ten list do klienta pocztowego. Istnieją programy, które realizują takie czynność w 1 sposób (np. SpamPal, Norton AntyVirus), jednakże pracują one wyłącznie z ściśle określonymi klientami, np. z Outlook Express. Wynika z tąd, że wyżej wymienione programy wykorzystują pewne wlaściwośći wyspecyfikowanych kientów pocztowych, mi zaś zależy na uniwersalności. Dlatego też wymyślilem 2 sposób. Mógłbym stworzyć MojProgram, który to program 'udawalby' konkretny serwer POP3, odbierał poczte, analizowal ją, i przetworzoną odsyłał do klienta pocztowego. Pozostaje tylko pytanie jak miałoby sie to odbywać. Pierwsza opcja mogła by polegać na podmianie lub dopisaniu wpisu adresu do serwera pop3 w pliku host. Np. jeśli MyProgram zostałby skonfigurowany do pracy z serwerm pop3.wp.pl znalazłby sie tam wpis pop3.wp.pl 127.0.0.1. Teraz mój program nasłuchiwałby na porcie 110, przekirowwyałby zapytania do wlaściwego serwera, tu pop3.wp.pl (1). MojProgram odebralby poczte (3), zaanalizowal ja i przekazal klientowi (2). Rozwiązanie to bylo by o tyle niewłaściwe, że musiałbym zająć sie w tym wypadku cała komunikacją z serwerem pop3.wp.pl (bo teoretycznie użytkownik może wykorzystywać go do wielu innych rzeczy, nie tylko do odbierania poczty), po drugie jak przy takim rozwiązaniu w kroku (1) dowiedzieć się z jakim serwerem klient pocztowy chce sie polączyć. 1 sposób ------------------------------------------------------------------- e-mail client (POP3) <-- MojProgram (POP3) <-- mail server 2 sposób ------------------------------------------------------------------- (1) e-mail client (POP3) --> (2) (3) <-- MojProgram(POP3) <-- mail server W związku z powyższym chciałbym zapytać jak najlepiej rozwiązać ten problem i czy moje rozumowanie wogóle jest poprawne. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ParanoiK Opublikowano 3 Marca 2005 Zgłoś Opublikowano 3 Marca 2005 Chyba najsensowniejszym rozwiązaniem byłoby w tym momencie łapanie poczty na interfejsie sieciowym, sprawdzanie on-the-fly i słanie dalej. Akurat w windowsach nie widzę zbyt dużych możliwości (ale nie jestem specem od tego systemu). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...