case study :)

sierpień 10th, 2007

Zapewne każdy widział “prawdziwego” webmail’a. Jedna z podstawowych funkcjonalności pełnego konta pocztowego jest możliwość nauki własnego profilu antyspamowego. Oczywiście SpamAssassin w połączeniu z bazą SQL wyśmienicie sprawdza się. Nie jest nawet problemem dodać panel do każdego webmail’a umożliwiając każdemu zmianę zachowań i czułości skanerów. Dylematem jest jak obsłużyć naciśnięcie przez użytkownika przycisków “To SPAM” oraz “To nie SPAM”.

Oczywiście finalnie analizowana wiadomość powinna trafić na sa-learn z parametrem –spam lub –ham. Uruchamianie bezpośrednio poprzez wywołania system z poziomu php lub cgi jest działaniem bezsensowym. Wydaje się, że najsensowniejsze byłoby kopiowanie gdzieś analizowanej wiadomości, dodanie informacji o użytkowniku, który naucza “swój” profil, a następnie wystarczy skrypt shellowy uruchamiany z cron’a.

Zaletą takiego rozwiązania jest możliwość kontroli obciążenia serwera, jeśli użytkownik “kliknie” aby nauczyć, że wiadomość jest spamem i zaraz potem zechce usunąć tę wiadomość to nie ma konieczności przetrzymywania tej wiadomości na koncie użytkownika oraz “zjadania” mu quoty ;] Przed wielokrotnym “nauczaniem” można zabezpieczyć się kontrolując sumy kontrolne / ID wiadomości i unikać duplikowania.

Oczywistą wadą jest dostęp z poziomu serwera http do zasobu / folderu gdzie mają być zapisywane wiadomości do analizy. Kolejnym problemem jest opóźnienie od momentu “klikniecia” do “nauczenia”.

Rozważałem też pomysł aby forwardować wiadomości na dedykowane konto, gdzie np. poprzez procmail nauczać SpamAssassin’a ale obawiam się doklejonych nagłówków.

Ambitne przymierzam się do ukończenia produkcyjnego RoundCube i nie chciałbym brnąć w ślepą uliczkę więc bardzo proszę o opinie w formie komentarzy :)

Może da się lepiej ? :)

4 Responses to “case study :)”

  1. 1 Krystian
    sierpień 26th, 2007 at 9:00 pm

    O tak! właśnie czegoś takiego poszukuje, aby w RoundCubie była taka opcja ” TO JEST SPAM “. Jak piszesz. ;)

  2. 2 daniel
    sierpień 27th, 2007 at 7:26 am

    Aktualnie nie ale jest na liście TODO :)
    Natomiast gdy tylko skończę wersje 0.1.1 AdNet to zabieram się za RoundCube SVN i wszystkie ficzery :)

  3. 3 Bogdan
    wrzesień 19th, 2007 at 12:52 pm

    Witam mam pytanko troche szukalem w google ale nic ciekawego mi sie nie obilo o rece, mam problem z round cubem otoz chodzi o zalaczniki jesli zalcznik jest wiekszy niz 0.5 mb niechce go wyslac wyswietla sie wysylanie wiadomosci i tyle a z np outlooka wysyla bez problemu. Pytanie z drugiej beczki czy mogbym dostac Twoje przerobki bede krolikiem doswiadczalnym ;0

    pozdrawiam

    Bogdan

  4. 4 daniel
    wrzesień 19th, 2007 at 12:59 pm

    Odpowiedz na pierwsze pytanie ;) … zapewne chodzi o ustawienia php (plik php.ini) i wartość upload_max_filesize

    Co do drugiej kwestii :) Niestety nic nie zrobiłem w tym temacie, zająłem się dopracowaniem panelu admina (ad-net) i gdy tylko skończę, dokonam już na wersji stabilnej bądź ostatniej z SVN.

    Co do testów to mogę zaproponować testowe konto email w domenie @jebiemnieto.org, kontakt poczta bądź jabberem

Leave a Reply