Bandiera Inglese
English

La pagina di Mailsweeper

Autore    Fulvio Cogrossi
 Versione   (Non ho idea di farne una)

Download


Mailsweeper è un programma per filtrare le emails dalle caselle di posta elettronica (postronica in breve :-) ) e fa rapporto per quelle indesiderate o le cancella. Questo conforme ai filtri che si imposteranno. Mailsweeper gestisce sia il protocollo POP3 o quello IMAP4. Mailsweeper è alquanto veloce perché legge solo le intestazioni delle postroniche.
Maggiormente ho scelto questo modo quando voglio rimuovere lo "spam" da connessione GPRS  (E qualche volta anche in roaming ¤¤¤ :P).
Mailsweeper può sincronizzare la postronica del server con quella cancellata con il proprio lettore di postronica (provato OExpress, Kmail. Al momento legge i formati dbx e *nix mbox file).


PREMESSA
Non ho nessuna idea di qualsiasi tipo di copyright, dovrebbe seguire GPL e PSF, semplicemente usate Mailsweeper così com' è o cancellatelo. Ho iniziato lo sviluppo di Mailsweeper per divertimento e per imparare un pò Python.
La pubblicazione del programma è, al più, nella prospettiva di aver qualche osservazione riguardo come far diventare il programma più efficiente, piuttosto che l' uso in sè. La mia prima intenzione era di mimare la potenza di "mailfilter" di Andreas Bauer's, il quale ha bisogno di qualche sforzo extra per usarlo su piattaforma diversa da Linux.
Chiaro, anche  Mailsweeper ha bisogno dell' interprete Python per lavorare, comunque Python potrebbe diventare utile per tanti altri scopi, in ambiente win32. Di solito distribuzioni linux lo hanno già installato.

DICHIARAZIONE
NESSUNA garanzia viene fornita implicita o qual altra forma derivante. Il nome Mailsweeper è stato scelto con nessuna intenzione di copiare qual altro nome di programma in giro per il globo (È faccenda complicata trovare un nome unico per tutto l'  Internet).
Mailsweeper potrebbe anche fallire a causa di impreviste ragioni, percui se ne consiglia una certa attenzione, si consiglia una certa cautela per non rischiare la perdita di dati importanti.
Farò qualche sforzo per migliorare le prestazioni di Mailsweeper e fugare tutti i possibili difetti. Qualsiasi correzione, suggerimento o miglioria al programma è sempre benvenuta, del quale ne prenderò in debito conto. Modifiche, distribuzione, inclusione parziale in altri programmi per uso personale sarà garantito esente da ogni obbligo, invece uso commerciale per intero o parziale di questo programma richiederà l' autorizzazione dell' autore.

Come funziona
Primo, bisogna impostare il file di configurazione (cfile qui di seguito). Un esempio è allegato con Mailsweeper. Il sorgente ed il cfile son ben documentati (al momento solo inglese :-) ). Il cfile segue lo stile "INI", con le sezioni e qualche variabile interna che permette l' assegnazione antetempo di alcuni valori usate come opzioni nel file. Tale da permettere una certa personalizzazione.
Una volta che il cfile è pronto, basta lanciare Mailsweeper con di seguito l' indirizzo del detto file. Solo la prima volta è necessario includerlo, perchè Mailsweeper non ha salvato i dati in proprio.
Successivamente, se il cfile non è stato modificato, Mailsweeper ricorderà i propri dati e non è necessario ripetere l' aggiunta del cfile, eccetto se ne voglia dare uno nuovo.
Ci sono anche opzioni da linea di comando che surclassano le opzioni di quelle di cfile. Il cfile comprende dettagli delle opzioni della linea di comando, che son descritti nel cfile come opzioni *_HLP. Queste descrizioni appaiono anche se si scrive "Mailsweeper -h" al prompt.
Si raccomanda di non fare attenzione al nome delle opzioni che finiscono in *_HLP. Programmatori potrebbero applicare la traduzione in altra lingua a queste linee per gli utenti meno esperti. Non so se si potrà fare in Unicode.
Per i rapporti su file si possono aver varie opzioni. Si può escludere in toto, oppure scriverne uno nuovo tutte le volte come pure aggiungere ad un file pre-esistente.
Nella scelta di aggiungere ad un file si può anche stabile una quota massima, se all' inizio della aggiunta al file esistente si scopre che è superiore alla quota stabilita allora verrà iniziato uno nuovo e sovrascritto quello pre-esistente. Per valori di questa opzione si potrà immettere 123456 o 123k o 435M, che stanno a significare valori in bytes, Kbytes o Mbytes rispettivamente.
Se si hanno diversi server da dove scaricare la posta, si potrà scegliere l' opzione "-m 1" per attivare il multithread. Questo permetterebbe di minimizzare i tempi morti ed aver una migliore prestazione sul tempo totale di collegamento, in quanto i collegamenti avvengono in parallelo.
Mailsweeper è stato provato prevalentemente con Linux, ho speso anche qualche tempo per prove  in piattaforma Win32 (Windows XP), posso dire che si comporta in maniera simile.
Per Win32, Mailsweeper serve una certa attenzione nel cfile per la definizione del percorso dei diversi file (I nomi con spazi vanno racchiusi con le virgolette " ). Risulta possibile che vengano salvati nei propri "Documenti" oppure nella cartella del programma, se ci son permessi speciali potrebbe esser un problema e si dovrà imporre altro percorso, del quale non ho potuto sperimentare.

Il modulo di cfgparse è usato da Mailsweeper. Scaricato cfgparse , lo si può mettere nella cartella di Mailsweeper o nel percorso di ricerca di Python (che potrebbe esser la cartella "site-packages", salvo abbia il proprio installer).
Per mio uso ho sistemato una cartella nella mia "home" (Linux) o una sotto C:\Python2.5 (win32).
Durante l' esecuzione di Mailsweeper si ha un piccolo annuncio del progresso nella console, che si può escludere come pure si può inviare tutto il rapporto a video.

FILTRAGGIO.- Questo è la parte vitale della gestione delle postroniche. Se si da filtri poco chiari potrebbe causare malinterpretazione su quello che si vuol esattamente fare. È consigliabile fare qualche prova con "SETTING FILTER"  messo a 'no' o 0 (zero) o valore booleano simile, il quale marcherà le postroniche come BAD, ma senza eseguire fisicamente la rimozione. In seguito si potrebbe andar a verificare sul file di rapporto che, per il caso, dovrebbe esser attivo.

La configurazione permette la definizione di 2 modi di  filtraggio. Nomi delle opzioni che iniziano con 'A'  e seguite da qualsiasi altro carattere (basta che sia comprensibile ed unico). Questo significherà "Allowed" (Permesso) e Mailsweeper riterrà sul server le postroniche che seguono tale criterio. Nomi di opzioni che iniziano con 'D', seguite da qualsiasi altro carattere  significherà "Denied" (Negato), così  Mailsweeper le marcherà nel rapporto od immediatamente rimosse dal server. Il criterio da una maggiore priorità ai filtri 'D'.
I modi di preparazioni dei filtri e dettato dalle regole di questo link, "Regular Expression" (qualcosa in italiano lo si trova qui) e ne consiglio la lettura per coloro che non sono esperti in materia.

Per tutto quello non chiarito qui, sarà un mio piacere aiutare per il miglior uso di Mailsweeper.
Programmatori son ben accetti per condivisione, evidenzazione di qualche nuova idea.
Il progetto ha ancora una lunga strada, secondo le mie intenzioni vorrei apportare una interfaccia grafica, solo che ho ancora diversi punti oscuri. Per la versione che scaricate le ultime modifiche verranno comunicate nel file README_NOW.txt (solo inglese)  contenuto nel file compresso.

Lo sviluppo di Mailsweeper è puro diletto ed hobby, sarà forse difficile nuovi cambiamenti in breve. Credo che maggior richiesta/interesse potrebbe promuovere il motivo di emmettere nuove versioni.

Mailsweeper  < clicca se si vuol scaricare la versione corrente.

Riconoscimenti

Si ringrazia tanto coloro che han lavorato per Python e ne han fatto un prodigioso strumento. Aggiungo che parti del programma non sono di mia fattura e se ne riconosce la proprietà, in particolare lo staff di Spambayes e Rui Carmo per qualche idea che mi ha fatto sviluppare la parte della gestione del protocollo IMAP4.

PS. Si noterà che la pagina inglese è forse scritta malamente, se qualcuno si presta alla correzione ne sarò molto felice.
1