Ho appena finito di configurare il mio server domestico come mail server/rss aggregator.
Zoe: un servizio tuttofare che si occupa di scaricare la posta (di vari account) ed i feed dei blog da me letti, memorizzare il tutto cronologicamente e darmi un'interfaccia accedibile via web browser che permetta la ricerca, la consultazione ed eventualmente di rispondere alle email.
popFile: un filtro bayesiano che si occupa di analizzare il traffico sulla porta 110 (POP3) ed indicizzarlo per una più semplice archiviazione sui vari client di posta evoluti (Zoe compreso)
Eudora: un client di posta free/shareware evoluto che adoro ed uso fin dalla sua prima versione. In realtà si può usare qualsiasi client di posta, anche outlook o
thunderbird
Java Sun: Zoe necessita per funzionare di Java, essendo scritto interamente in questo linguaggio.il sistema operativo da me utilizzato è Windows, ma è irrilevante. Infatti sia Zoe che popFile funzionano anche su Linux e Mac Os X.
zoe does for your email what google does for the web.
L'installazione di
Zoe è molto semplice bisogna innanzi tutto controllare di avere Java installato nel proprio sistema, se non fosse disponibile basta visitare il sito della
Sun, successivamente scaricare dal sito ufficiale l'ultima release del pacchetto (mentre scrivo questa faq è la 0.55) e decomprimere il tutto in una cartella.
Essendo considerato un client di posta normale e non necessitando di una vera e propria installazione Zoe può essere utilizzato/installato da qualsiasi utente.
Per far partire il programma bisogna aprire una shell e dalla directory dove abbiamo decompresso ZOE eseguire il seguente comando
java -jar Zoe.jar
per semplicità ho creato un file chiamato zoe.bat contenente la precedente stringa di comando e l'ho inserito nel menù di avvio di windows, è possibile anche far partire Zoe come
servizio di windows
La configurazione di Zoe è molto semplice e basta seguire le istruzioni presenti sul
wiki ufficiale, più avanti però vedremo bene come gestire gli account utenti.
Se utilizzate un firewall vi consiglio di aprire le porte dei servizi di Zoe per permetterne all'applicazione di funzionare, inoltre di attivare l'autenticazione di Zoe in modo tale da evitare possibili utilizzi dello stesso come spam server.
Se volete utilizzare anche altri client non connessi a ZOE (perchè ad esempio lo avete installato su un server con IP dinamico e quindi non sempre raggiungibile) vi consiglio di lasciare impostato per gli account la voce di non cancellare la mail dal server una volta scaricata in locale.
ZOE permette anche, interfacciandosi con
mrPostman di scaricarsi le mail da alcuni famosi webmailer basati su webdav come hotmail e yahoo!mail.
POPFile is an automatic mail classification tool. Once properly set up and trained, it will scan all email as it arrives and classify it based on your training. You can give it a simple job, like separating out junk e-mail, or a complicated one—like filing mail into a dozen folders. Think of it as a personal assistant for your inbox.
Una volta scaricato l'eseguibile di popFile tutto quello che dobbiamo fare è farlo partire e seguire i passi del wizard di installazione, personalmente ho disabilitato l'apertura della console mentre ho lasciato attiva la trayicon.
Durante l'installazione verrà chiesto in che porta vogliamo attivare l'interfaccia web, per semplicità ho lasciato la porta 8080 resta però al vostro libero arbitrio la scelta.
popFile si interfaccia come proxy tra il vostro client di posta ed il vostro server POP3 preferito, inoltre tramite una comoda interfaccia web è possibile gestirlo ed istruirlo a riconoscere le mail. Perchè istruirlo?? Perchè popFile non conosce la differenza tra spam e mail buone quindi bisognerà in un primo momento correggerlo per evitare falsi positivi. Anche per popFile esiste un
wiki ufficiale e contiene documentazione di prim'ordine.
Quello che fa popFile è aggiungere alle vostre email le seguenti stringhe:
X-Text-Classification: QUALCOSA
dove QUALCOSA è il nome del cesto da voi creato (e che potrebbe essere anche spam). Il cesto nel gergo di popFile è il nome del filtro applicato alla mail.
a questo punto dobbiamo configurare popFile affinchè funzioni da gateway per Zoe, per far ciò bisogna abilitare dal menù advanced il parametro pop3_toptoo, cioè:
pop3_toptoo = 1
il
parametro toptoo deve essere abilitato perchè Zoe utilizza la primitiva TOP per leggere le email sul server senza cancellarle. Non attivare tale parametro significa disabilitare il fitro per i server controllati da Zoe.
rivediamo adesso la configurazione degli account di Zoe, supponiamo di avere il seguente account:
ACCOUNT TYPE: POP3 email address: lamiamail@ilmioserver.com name: fullo HOST host name: pop.ilmioserver.com username: lamiamail password: ********* SMTP SERVER host name: smtp.ilmioserver.com username: lamiamail password: *********
quello che dovremo fare è modificare le voci relative ad HOST affinchè utilizzino popFile invece che la connessione diretta al server POP3 del mio account, per fare ciò basterà modificare in questo modo la configurazione dell'account:
HOST host name: 127.0.0.1 username: pop.ilmioserver.com:lamiamail password: *********
Quello che ho fatto è dire a Zoe di scaricare la posta dal POP3 locale (su cui è in ascolto popFile) e di passargli come username il nome del vero POP3 separato dai due punti col vero username.
Applicando lo stesso procedimento a tutti gli account creati su Zoe farò si che tutta la mail memorizzata sia filtrata preventivamente da popFile.
Utilizzare Zoe non è però sempre comodissimo, inoltre non è possibile inviare allegati nelle mail. Come fare?
Semplice! Zoe mette a disposizione un POP3 server, in ascolto sulla porta 10110, ed un SMTP server sulla porta 10025 possiamo quindi configurare il nostro client di posta preferito (nel mio caso
Eudora ) per ricevere e spedire la posta da Zoe, inoltre basterà creare un solo account (quello creato per l'autenticazione su Zoe) e non replicare tutti quelli inseriti precedentente.
Sarà infatti Zoe ad incaricarsi di scaricare e memorizzare tutte le mail in arrivo. Inoltre come server SMTP sarà possibile usare proprio Zoe, sfruttando ulteriormente le capacità di quest'ultimo di indicizzazione e memorizzazione anche per le email in uscita.
E' importante configurare Zoe affinchè in fase di interrogazione non invii tutti i messaggi ma solo gli ultimi arrivati per fare ciò è necessario: creare un file di testo in
%ZOE%/Library/SZ/Configurations/Default/
chiamato
alt.dev.szpop.SZPOPSession.properties
insergli la seguente stringa di configurazione:
fetch.limit=20
dove 20 è il numero massimo di messaggi che Zoe invierà ai client mail
Il nostro sistema è così configurato
popFile <-> Zoe <-> client di posta
a questo punto da qualsiasi PC accediamo, e con qualsiasi client di posta, ci ritroviamo sempre con le email sincronizzate, certo al primo avvio del client comporterà il riscaricarsi di tutte le email, ma dagli utilizzi successivi questo non sarà più un problema. Inoltre grazie ai cesti di popFile sarà semplicissimo creare dei filtri ad-hoc per avere sempre le email al posto giusto! ;) Se invece non necessitiamo di inviare le email ma ci serve poter consultare quelle in archivio basterà utilizzare un qualsiasi browser e connettersi alla porta 10080 del server su cui gira Zoe per accedere alla sua interfaccia web.
Mentre scrivevo questa FAQ ho trovato alcuni siti che hanno approciato al problema spam al mio stesso modo, ecco i link ai loro tutorial (alcuni hanno anche immagini abbastanza esplicative)
http://www.atmasphere.net/mt/archives/002987.html soluzione identica alla mia! ma c'e' arrivato un anno prima! (in inglese)
http://blog.invisible.ch/archives/000173.html utilizza opera invece che Eudora (in inglese)
http://www.linuxnetmag.com/de/issue9/m9zoe1.html stessa cosa ma per linux e con uno script per rendere Zoe un servizio attivo all'avvio del sistema (in tedesco)lib/WikiUser.php:59: Notice[8]: Only variables should be assigned by reference
lib/Template.php:112: Notice[8]: Only variables should be assigned by reference
lib/Template.php:114: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'html'):112: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'html'):114: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'html'):112: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'html'):114: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'body') (In template 'html'):112: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'body') (In template 'html'):114: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'top') (In template 'body') (In template 'html'):112: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'top') (In template 'body') (In template 'html'):114: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'body') (In template 'html'):112: Notice[8]: Only variables should be assigned by reference
lib/Template.php (In template 'body') (In template 'html'):114: Notice[8]: Only variables should be assigned by reference
lib/CachedMarkup.php (In template 'browse') (In template 'body') (In template 'html'):427: Notice[8]: Only variables should be assigned by reference