Come cancellare migliaia di email dai server Libero in un colpo solo
La mia mailbox su Libero ha ormai 10 anni, e da almeno 2 non riesco più a star dietro alla cancellazione dei messaggi di SPAM: mi limito a marcarli come già letti, e ultimamente neanche tutti.
Risultato: la mia mailbox ha quasi raggiunto quota 1 GB e Libero minaccia di sospenderla!
Selezionare a mano migliaia di mail in Thunderbird e cancellare non funziona: il programma finisce per bloccarsi inesorabilmente, troppi dati!
Dopo ore di ricerche non sono riuscito a trovare un banalissimo programma che semplicemente cancelli tutte le mail su Libero da una certa data a un’altra data… finchè mi sono imbattuto nelle “potenzialità filtranti” di thunderbird!
Ecco quindi come fare per salvare in locale, sul proprio PC, le mail più vecchie, ed eliminarle dal server:
- Installare Thunderbird e configurarlo con account IMAP in modo da sincronizzarlo col server, cioè in modo da fargli scaricare tutte le mail, ma specificando l’opzione di lasciare le mail sul server.
- Se si è già utenti di Thunderbird da un po’, si può ovviamente saltare il primo passo e passare a questo: creare una cartella sotto la sezione “Local Folders”, creare un filtro (Tools–> Message Filters) che “catturi” tutte le mail comprese tra due date, fare in modo che sposti nella suddetta cartlla le mail filtrate, e applicarlo alla mailbox da ripulire.
- Aspettare MOLTI minuti se i messaggi sono migliaia…. Ma almeno il programma non si bloccherà.
Da notare che un filtro creato per un account non è applicabile ad altri account.
Durante l’esecuzione del filtro, il progresso del lavoro può essere monitorato nella barra di stato in basso:
Sulla sinistra si legge l’operazione in corso, sulla destra le dimensioni della mailbox, in calo.
Aggiornamento 2017 – Tutorial su accesso manuale a server IMAP
Connettersi tramite telnet al server di posta (la porta IMAP è la 143):
telnet mailserver.domain.com 143
Una volta connessi, inserire il comando:
tizio login user password
“tizio” è un identificatore di sessione: serve a far capire al server che tutti i comandi successivi saranno relativi all’utente “tizio”; cioè, tutti i messaggi marcati come “letti” o “cancellati” risulteranno tali solo a chi, in seguito, si collegherà all’account login+password MA usando anche l’identificatore “tizio”; questo permette a client diversi di collegarsi allo stesso server IMAP.
“login” è il comando vero e proprio.
Dopo che il server risponde col messaggio di benvenuto, è possibile inviare ulteriori comandi (con un punto iniziale):
Selezionare cartella:
. SELECT "INBOX"
Cercare un certo messaggio (notare che la stringa inserita è sempre considerata una sottostringa, quindi non servono asterischi o altri caratteri jolly):
. SEARCH FROM "user@example.org" SUBJECT "testo da cercare"
Il risultato della ricerca si presenterà in questa forma (l’asterisco indica che la riga è una risposta del server e non un comando)::
* SEARCH 5 10 456
Questa risposta significa che i messaggi corrispondenti ai criteri di ricerca specificati sono il n.5, il n.10 e il n.456.
Se una ricerca per soggetto non è sufficiente, è possibile scaricare il testo completo del messaggio; ciò può essere fatto sia lasciando il messaggio “intonso”…
. FETCH 5 BODY[TEXT].PEEK
… che marcandolo come letto:
. FETCH 5 BODY[TEXT]
In una sessione IMAP un messaggio può essere marcato come “cancellato”, ma non verrà effettivamente cancellato dal server finchè non viene esplicitamente impartito il comando di cancellazione “expunge”; la sequenza necessaria per cancellare un singolo messaggio è:
- marcarlo col flag \Deleted (. STORE mexnum +FLAGS \Deleted)
- Spostarlo in cartella trash (. MOVE mexnum trash)
- portarsi nella cartella trash (. SELECT trash)
- confermare la cancellazione (. EXPUNGE )
Ad esempio, per cancellare il messaggio n.1 dalla casella inbox si possono semplicemente copiare nella finestra telnet queste righe:
. STORE 1 +FLAGS \Deleted . MOVE 1 trash . SELECT trash . EXPUNGE
Per essere sicuri che sia proprio il messaggio che volete cancellare, magari prima è meglio impartire il comando:
. Fetch 1 ( flags body[header.fields (subject)])
Con questo comando è possibile visualizzare qual è lo spazio disponbile e qual è quello utilizzato:
. GETQUOTA ""
Risposta:
* QUOTA "" (STORAGE 123456 1048576)
Significa che sono usati 123456 bytes su 1048576 (cioè su 1 GB).
La sessione va terminata con:
. logout
Programmi utili:
- https://autohotkey.com/ – automatizazzione di qualunque programma
- http://support.moonpoint.com/downloads/windows/network/Telnet/tst10.php – automazione telnet
Reference:
https://www.skytale.net/blog/archives/23-Manual-IMAP.html
1 comment