linux user group brescia

immagine del castello

Archivio della mailing list

Manipolare una mbox

Vernia Damiano melkor.x a tiscali.it
Lun 3 Maggio 2004 17:13:10 UTC
On Mon, 3 May 2004, Alexander Fortin wrote:
> Vorrei testare l'efficacia di spamassassin+bogofilter e per fare ciò mi 
> sono detto: facile, un bello script con qualcosa tipo "for i in *mbox*" 
> e sendmail a raffica.

	Sarebbe troppo facile... Comunque non ci si va troppo lontani.

> Esiste un software/libreria per manipolare il formato mbox? servirebbe 
> qualcosa che mi faccia accedere direttamente alle mail tramite un indice...

	Io sinceramente uso formail, che probabilmente hai gia' installato 
anche tu. Puoi usarlo assieme a procmail; anzi, ti mando il mio 
.procmailrc in linea:

----------------------------------------------------
MAILDIR=/home/melkor/mail
DEFAULT=buoni

:0 HB
* ^Content-Type:.multipart
* ! ? clamdscan --quiet -
virus

:0 HB
* ! ? spamc -c
spam
---------------------------------------------------------

	Questo usa clamAV (clamd) per eliminare i virus e spamassassin 
(spamd) per eliminare lo spam (cosi' e' un bel po' piu' veloce rispetto a 
clamscan e spamassassin).

	In genere ho tutte le mail da far passare in un mbox. A quel punto 
faccio semplicemente:

$ formail +1 -s procmail <_mbox_da_leggere

	L'opzione "-s" ("split") avvia il programma indicato per ogni 
messaggio presente nello standard input. L'opzione "+1" salta il primo 
messaggio (che nel mio caso e' un messaggio interno e non una vera 
e-mail). Esiste anche l'opzione "-nnn" dove "nnn" e' il numero massimo di 
messaggi da considerare.
	Ad esempio
$ formail +7 -3 -s cat <file
	considera "file" come una mbox, e stampa a video l'8°, il 9° e il 
10° messaggio (ovviamente se ci sono).

	Puoi implementare il tuo vecchio "for" o estraendo un messaggio 
per volta oppure facendolo fare a formail.

> Ditemi che non devo riiniziare a litigare con sed! :)

	No, in questo caso non e' necessario. :-)

-- 
						Ciriciao
					LtC. Melkor?! B. Xapatan




Maggiori informazioni sulla lista Lug