Po wstępnych testach zdecydowałem się na przygotowanie kolejnej wersji programu.
Całość została podzielona na trzy pakiety: dspam, dspam-panel i dspam-skrypty.
Używanie panelu nie jest konieczne, ale umożliwia zobaczenie statystyk dla poszczególnych użytkowników. W panelu nadal nie działa funkcja "retrain", wynika to z problemów dostępu do exima z poziomu panelu. Obawiam się, że to może być trudny problem do rozwiązania.
Jako pierwszy należy zainstalować dspam i przystosować plik konfiguracyjny exim.conf i dspam.conf - przykładowe pliki są zawarte w pakiecie. Jeśli nie chce ktoś korzystac z mysql, to nie musi, należy wówczas opcje mysql zahaszować w konfiguracji. W przeciwnym razie trzeba założyć bazę dspam (dspam.sql jest w pakiecie dspam-skrypty).
Następnie dspam-panel (w pliku admins wpisać login usera, który będzie nim administrował, i podać swoją domenę w pliku konfiguracyjnym). Panel wymaga modułów perla, bez nich nie będzie działać.
Po instalacji dspam-skrypty przechodzimy do katalogu /tmp/dspamconf i wykonujemy zawarte tam skrypty. Utworzą one część potrzebnych plików w katalogu /var/dspam inne zostaną utworzone, gdy program podejmie działanie. Są też skrypty, które wykonają wstępne uczenie programu. Potem program będzie się już uczył na każdym odebranym mailu.
Po dodaniu nowego użytkownika nie ma potrzeby przeprowadzać uczenia, bowiem program używa ogólnej bazy (+baza użytkownika).
Do tej pory nie mam jednoznacznej koncepcji, co robić ze spamem. Domyślnie skrypty zakładają .procmailrc kierujący spam do skrzynki usera w /var/dspam. Jednak to rozwiązanie ma wadę - brak możliwości dokonywania "retrain" dla omyłkowych decyzji programu. Wydaje mi się, że dobrym rozwiązaniem byłoby utworzenie np. użytkownika spamcheck, zmianę uprawnień jego skrzynki pocztowej (żeby była do zapisu dla grupy users) i kierowanie tam bezpośrednio maili zakwalifikowanych jako spam. Daje to adminowi możliwość odbioru poczty i używania opcji "przeadresuj" jaka jest w operze czy thunderbirdzie. W ten sposób omyłkowe spamy można wysłać na adresat-notspam@domena oraz forwardować do użytkownika. Natomiast sam użytkownik przepuszczone spamy odsyła na adresat-spam@domena. W ten sposób program będzie się douczał podczas codziennej pracy.
Na razie w pakiecie brak skryptu uruchamiącego demona dspam, nie jest niezbędny do pracy, choć by się zapewne przydał. Nie ma też automatycznego czyszczenia logu (należy używać dspam_logrotate).
Dobrze byłoby, aby ktoś tę wersję przetestował.
adres:
http://nnd-linux-router.one.pl/pkg/dspam-files/