linux user group brescia

immagine del castello

Archivio della mailing list

Procmail per filtrare solo i "read"

Luca Coianiz luca a coianiz.it
Dom 3 Ott 2004 11:31:05 UTC
 Mi sto perdendo nella ricerca in rete delle info: troppa roba... mi ci
vorrebbe una seconda vita per leggere tutto. :(

[versione breve]
 Faccio una domanda semplice, che prevede una risposta tipo "si" o "no": a
vostra conoscenza, è possibile fare in modo che Procmail "agisca", leggendo
direttamente i file in /var/spool/mail/<username> di ogni utente, ed
applichi le sue regole solo alle mail GIA' LETTE?

[versione lunga]
 L'esigenza era questa: preferirei che le mail in arrivo rimanessero, per
ogni utente del server, nella "casella inbox" (che corrisponde al file /var/
spool/mail/<username>) in modo che la nuova mail fosse subito "evidente" e
senza doverla andare a cercare fra le mille e più subdirectory di /home/
<username>/Mail/....

 Però, una volta letto, un messaggio può essere cancellato (subito)
dall'utente oppure semplicemente "lasciato lì" per essere, in un "secondo
momento" archiviato in una cartella ad hoc (ad es. la mail che arriva dal
lug in /home/<username>/Mail/ml/lugbs/main/_read).

 Quindi Procmail non dovrebbe agire "subito", alla ricezione della mail, ma
solo quando questa è stata LETTA.
 So che Procmail questo lo può fare (c'è una chiara spiegazione della
manpage, dove riportano anche uno script per lanciarlo in modalità
stand-alone): non ho invece trovato indicazioni per filtrare le mail "read"
dalle "unread".

 Leggendo direttamente i file in /var/spool/mail/ ho notato una cosa, ma non
so se è standard e se ci si può far affidamento per il filtraggio: ogni
messaggio, dopo esser stato letto e DOPO che il MUA (Pine, nel mio caso) è
stato chiuso, presenta le seguenti "aggiunte":

Status: RO	<-- solo i messaggi letti: in quelli unread non appare
X-Status: 	<-- vuoto se il msg è solo stato letto, "A" se answered
X-Keywords:	<-- non so: ci ho trovato dentro roba tipo "$MDNSent"
X-UID: nnnn	<-- non so: sembra un PID

 Dal comportamento del MUA mi pare che (in Status) "R" ed "O" siano
disgiunti: "R" è il vero flag di lettura, mentre "O" mi pare compaia quando
una mail è stata in qualche modo "processata": in msg non letti (o dei quali
ho forzato lo stato non-letto) compare solo "Status: O".

 Diciamo che mi basterebbe che "Status: R" fosse un'aggiunta standard di
ogni MUA alle mail "read". ;)
(Mutt, ad esempio, lo inserisce?)

 Tutto quanto sopra per evitare che siano i MUA (Pine, Squirrellmail o
altro) a dover eseguire l'archiviazione: SQm già lo fa (gli ho inserito le
regole, ma non riesce a filtrare read/unread), ma non mi pareva "giusto" che
una cosa del genere la facesse il MUA visto e considerato che questo può
cambiare ed il ruleset dovrebbe venire (re)implementato "per ogni MUA
attivato, per ogni utente" (mentre con Procmail posso agire centralmente).


 Ok... attendo la solita valanga di RTFM (cosa che in parte ho già fatto),
"passa a Debian", ecc. ecc. :(

 Ricordate: come da "versione breve", mi basta un "si" o un "no": se è
Procmail ciò che fa al caso mio poi ci penso io ad approfondire
l'argomento... anche se qualche esempio (senza diventarci matti eh) non
guasta. ;)

 Era solo per evitare di diventare uno "specialista" di Procmail solo per
scoprire che quello che mi serve non si può fare. ;)
(oppure andare per "tentativi ed errori" e massacrarmi la mailbox :D)

 10x in advance,

	LC





Maggiori informazioni sulla lista Lug