Autore
Fulvio Cogrossi
Versione
(Non ho idea di farne una)
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 ¤¤¤
).
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.