Come gestire un messaggio email: Ricerca,Cancellazione, Copia, Spostamento, Editing, Salvataggio e Stampa

Le operazioni di gestione dei messaggi si effettuano naturalmente dall'indice dei messaggi (index menu), ma sono per la maggior parte disponibili anche mentre siamo nel pager in lettura del messaggio.

Per operazioni di gestione intendo:

1. Ricerca di un messaggio all'interno di una mailbox.
2. Cancellazione di un messaggio e di un allegato.
3. Copia su file di un messaggio (salvataggio).
4. Spostamento di un messaggio in un'altra mailbox.
5. Editing di un messaggio per modificarlo.
6. Salvataggio su disco di un file allegato ad un messaggio.
7. Stampa di un messaggio.


1. Operazioni di ricerca

Ricerca nei campi mittente e soggetto per trovare un messaggio

1. Premiamo / (cerca in avanti) o Esc / (cerca indietro).

2. Inseriamo l'espressione da ricercare e poi Invio.

3. Premiamo n (search-next), per proseguire nella ricerca se il
messaggio trovato non è quello cercato.


Ricerca nel testo del corpo del messaggio per trovare un messaggio

1. Premiamo Esc b (cerca nel body del messaggio).

2. Inseriamo l'espressione da ricercare e poi Invio.

3. Premiamo n (search-next), per proseguire nella ricerca se il
messaggio trovato non è quello cercato.


Ricercare del testo mentre stiamo leggendo un messaggio (nel pager).

1. Premiamo / o Esc / (cerca in avanti o indietro).

2. Inseriamo l'espressione da ricercare e poi Invio.

3. Premiamo n (search-next), per proseguire la ricerca dopo
la prima occorrenza trovata.


Visualizzare nell'indice solo alcuni messaggi.

Mutt consente di limitare l'elenco dei messaggi visualizzati nell'indice, per facilitarne la ricerca e selezione.

Per questo utilizziamo il comando limit.

1. Premiamo l (elle, limit).

2. Inseriamo l'espressione che deve essere soddisfatta (nei campi mittente
e soggetto) affinchè il messaggio possa essere visualizzato nell'indice.

3. Mutt mostra nell'indice solo i messaggi che rispettano il limite precisato.

Se abbiamo attivato con "l" un modello limitatore dell'elenco, possiamo:

Effettuare ricerche (vedi sopra).

Premere Esc l per conoscere il modello limitatore attivo.

Premere l . (elle e punto) per annullare il modello limitatore.


Con Mutt possiamo anche utilizzare le potenti espressioni regolari (regexp) per effettuare ricerche, stabilire modelli di limitazione, o eseguire operazioni sui messaggi.
Per iniziare a conoscere le espressioni regolari va bene un tutorial in italiano come questo.
In inglese abbiamo il classico A Tao of Regular Expressions.
Il manuale di Mutt ha il capitolo 4.1 dedicato alle Regular Expressions.

Utilizzare i pattern per le operazioni di ricerca, limitazione e taggatura.

Le ricerche, così come la taggatura messaggi e la definizione di modelli di limitazione, possono anche essere impostate specificando un pattern.
Il pattern è una espressione regolare preceduta da un flag specifico del programma Mutt.
Con il pattern indichiamo a Mutt dove applicare la ricerca.

Ad esempio, quando utilizziamo il comando Esc b per effettuare una ricerca di testo nel corpo del messaggio, avremo notato che automaticamente Mutt aggiunge ~b come primi caratteri nel campo dove scriviamo ciò che vogliamo cercare. Bene, questo è uno dei tanti pattern utilizzabili.
Se leggiamo il manuale di Mutt vediamo infatti che:

~b EXPR messaggi che contengono EXPR nel corpo del messaggio

Ancora, quando usiamo i comandi di ricerca, premendo / o Esc /, Mutt antepone automaticamente alla espressione da noi inserita i pattern ~f e ~s:

~f USER messaggi arrivati con mittente USER
~s SUBJECT messaggi che hanno SUBJECT nel campo ``Subject''

Ma potremmo inserire noi il pattern desiderato, indirizzando diversamente la ricerca.

Può essere interessante sapere che è possibile effettuare ricerche con gli operatori logici AND, OR e NOT:

/ ~b cane ~b malato è una ricerca AND (cerco un messaggio che nel corpo abbia sia cane, sia malato).

/ ~b cane | ~b malato è una ricerca OR.

/ ~b cane ! ~b malato è una ricerca NOT.


Possiamo anche racchiudere tra parentesi alcune condizioni.

Per un elenco dei pattern disponibili possiamo consultare il manuale di Mutt al capitolo 4.2 Patterns.


2. Cancellare De-Cancellare un messaggio e un allegato

Per cancellare un messaggio che non ci interessa:

1. Selezioniamo il messaggio evidenziandolo con il cursore.

2. Premiamo d (delete) per cancellare.

3. Premiamo u (undelete) per decancellare.

Mutt evidenzia con lo status flag D i messaggi marcati per la cancellazione.

La cancellazione (de-cancellazione) di un messaggio può essere effettuata anche mentre siamo nel pager e lo stiamo leggendo. Cancellando dal pager, è interessante notare che Mutt passa automaticamente alla visualizzazione del prossimo messaggio elencato nell'indice.

Per cancellare un allegato che non ci interessa da un messaggio che invece vogliamo tenere:

1. Premiamo v (view-attachments) per entrare nell'attachment menu.

2. Selezioniamo il file allegato che vogliamo cancellare.

3. Premiamo d (delete-entry) per cancellare.

4. Premiamo u (undelete-entry) per decancellare.

Nell'index menu Mutt evidenzia con lo status flag d i messaggi che contengono un allegato marcato per la cancellazione.

La effettiva cancellazione di un messaggio o di un allegato marcato per la cancellazione, avviene quando:

1. Si chiude la mailbox che lo contiene (per passare ad un'altra).
2. Si ri-sincronizza la mailbox (vedi più sotto il tip su come ri-sincronizzare).
3. Si esce da Mutt.


TIP: Come cancellare o de-cancellare un thread di messaggi.

Se abbiamo un lungo thread di messaggi, possiamo operare la cancellazione o de-cancellazione di tutti i messaggi che lo compongono con un unico comando.
Dall'index menu:

1. Selezioniamo uno dei messaggi che compongono il thread.

2. Premiamo Control d (delete-thread) per cancellare.

3. Premiamo Control u (undelete-thread) per de-cancellare.


TIP: Come cancellare o de-cancellare un subthread di messaggi.

Se in un thread di messaggi un subthread non ci interessa possiamo cancellare de-cancellare in un colpo solo tutti i messaggi che lo compongono.
Dall'index menu:

1. Selezioniamo uno dei messaggi che compongono il subthread.

2. Premiamo Esc d (delete-subthread) per cancellare.

3. Premiamo Esc u (undelete-subthread) per de-cancellare.


TIP: Come effettuare una cancellazione o de-cancellazione di più messaggi.

Nella parte dedicata alla scrittura dei messaggi, abbiamo visto che con Mutt è possibile marcare più messaggi e quindi eseguire su tutti un comando.
In modo analogo, dall'index menu:

1. Tagghiamo, premendo t, i messaggi che ci interessano.

2. Premiamo ; e poi d per la cancellazione, oppure u per la de-cancellazione.

(possiamo premere direttamente d oppure u, se abbiamo settato a yes
la variabile auto_tag).


Un altro modo è utilizzare i comandi delete-pattern e undelete-pattern, che consentono di cancellare e de-cancellare tutti i messaggi che corrispondono ai requisiti indicati con un'espressione regolare.
Ad esempio, per cancellare e poi de-cancellare velocemente tutti i messaggi di una mailbox, dall'index menu:

1. Premiamo D (d maiuscolo, delete-pattern).

2. Inseriamo l'espressione da ricercare (per l'esempio . (punto) e poi Invio.
Tutti i messaggi vengono marcati per la cancellazione.

3. Premiamo U (u maiuscolo, undelete-pattern).

4. Inseriamo l'espressione da ricercare (per l'esempio . (punto) e poi Invio.
La marcatura per la cancellazione viene tolta da tutti i messaggi.


TIP: Come non far chiedere conferma delle cancellazioni.

Di default, Mutt ci chiede conferma prima di procedere con la cancellazione.

Se preferiamo che Mutt non ci chieda conferma, dobbiamo settare a yes la variabile delete, così come dall'esempio del mio .muttrc:

# controlla se e come i messaggi marcati per la cancellazione
# vengono cancellati alla chiusura di una mailbox o ad una sua
# ri-sincronizzazione
# valore di default: ask-yes

set delete = yes


TIP: Come effettuare la ri-sincronizzazione della mailbox

Premendo $, Mutt esegue la funzione sync-mailbox.

In tal modo, possiamo

1. Cancellare subito i messaggi o gli allegati marcati con d, senza aspettare di cambiare mailbox, oppure di uscire e rientrare in Mutt.
2. Vedere nuovi messaggi scaricati dal server di posta dopo aver già aperto Mutt.
3. Copiare un messaggio in un'altra mailbox o in un file

Se vogliamo duplicare un messaggio, possiamo utilizzare la funzione di copia.

1. Selezioniamo il messaggio evidenziandolo con il cursore.

2. Premiamo C (c maiuscolo, copy) per copiarlo.

3. Mutt ci propone di copiarlo in una mailbox che ha il nome del mittente del
messaggio, ad esempio (nel caso di un messaggio inviato da root)
"Copia nella mailbox ('?' per la lista): =root"

4. Se la mailbox proposta va bene, confermiamo premendo Invio.
Qualora la mailbox non esista, di default, Mutt ci chiede conferma
per la sua creazione, altrimenti ci chiede conferma, sempre di default,
per l'accodamento del messaggio nel file.

5. Se vogliamo una diversa mailbox premiamo ? e Tab per
vedere l'elenco delle mailbox e navigare fino a quella in cui vogliamo
copiare il messaggio. Selezioniamo la mailbox e premiamo Invio.

6. Se vogliamo creare un file contenente il messaggio, scriviamo il nome
che vogliamo abbia il file. Se non specifichiamo la path, Mutt crea il
file nella maildir, ovvero la directory che contiene le mailbox.

7. Se vogliamo accodare il messaggio ad un file esistente premiamo ? per
accedere al file browser interno di Mutt, navighiamo nel disco fino al
file a cui accodare il messaggio, lo selezioniamo e premiamo Invio. Prima
di eseguire quanto richiesto, di default, Mutt ci chiede conferma per
l'accodamento al file selezionato.


La copia di un messaggio può essere effettuata anche mentre siamo nel pager e lo stiamo leggendo.

TIP: Come non far chiedere conferma della creazione di una mailbox.

Di default, se la mailbox in cui copiare il messaggio non esiste, Mutt ci chiede conferma prima di procedere con la sua creazione.

Se preferiamo che Mutt non lo chieda, dobbiamo settare a no la variabile confirmcreate, così come dall'esempio del mio .muttrc:

# se settato a no, Mutt non chiede conferma per salvare un
# messaggio in una mailbox inesistente prima di crearla.
# valore di default: yes

set confirmcreate = no


TIP: Come non far chiedere conferma dell'accodamento del messaggio ad un file.

Di default, Mutt ci chiede conferma prima di accodare un messaggio ad una mailbox o ad un file esistente.

Se preferiamo che Mutt non lo chieda, dobbiamo settare a no la variabile confirmappend, così come dall'esempio del mio .muttrc:

# se settato a no, Mutt non chiede conferma per appendere
# un messaggio in una mailbox/file.
# valore di default: yes

set confirmappend = no


TIP: Come attivare la history nel line editor.

Mutt, limitatamente alla sessione corrente, può "ricordare" i comandi da noi inseriti nel line editor, la riga di comando ove possiamo scrivere anche la mailbox in cui copiare un messaggio. Di default, la history non è attiva (in base alla mia esperienza).

Se desideriamo attivare la history del line editor, dobbiamo collegare due tasti alle funzioni di history-down e history-up, così come dall'esempio del mio .muttrc:

# per abilitare i tasti freccia su/giu' alla history dei comandi
# nel line editor
bind editor history-down
bind editor history-up


Il numero di inserimenti tenuti nel buffer di memoria della history è fissato per default a 10. Se vogliamo modificarlo, dobbiamo indicarlo settando la variabile history, così come dall'esempio del mio .muttrc:

# settando la variabile history si indica a Mutt il numero di
# inserimenti tenuti in memoria per la sessione corrente
# valore di default = 10
set history = 20


Con questo suggerimento, abbiamo anticipato l'argomento keybinding, che tratteremo nel capitolo dedicato al Look and Feel di Mutt.

4. Spostare un messaggio in un'altra mailbox o in un file

Finito di leggere un messaggio, di norma è comodo che venga automaticamente spostato in una mailbox diversa da quella della posta in arrivo.

Per questo Mutt ci mette a disposizione la variabile mbox, che possiamo settare nel file di configurazione (come già visto nel capitolo dedicato alla Panoramica iniziale su Mutt).

Vedremo più avanti, nel capitolo dedicato agli hook, della possibilità di definire mailbox diverse in cui salvare i messaggi letti che sono contenuti in mailbox diverse (bypassando così il set mbox).

Nell'attesa, vediamo come spostare di nostra iniziativa un messaggio, senza lasciarlo fare automaticamente a Mutt in base ai settaggi che gestiscono gli spostamenti automatici dei messaggi letti.

Possiamo utilizzare la funzione di salvataggio, che funziona esattamente come quella di copia, con la differenza che il messaggio, dopo essere stato salvato nella mailbox/file da noi scelto, viene automaticamente taggato per la cancellazione da Mutt. Pertanto, lasciando che Mutt cancelli il messaggio copiato, si opera di fatto il suo spostamento.

1. Selezioniamo il messaggio evidenziandolo con il cursore.

2. Premiamo s (save) per salvarlo.

3. Mutt ci propone di salvarlo in una mailbox che ha il nome del mittente del
messaggio, ad esempio (nel caso di un messaggio inviato da root)
"Salva nella mailbox ('?' per la lista): =root"

4. Se la mailbox proposta va bene, confermiamo premendo Invio.

5. Mutt taggherà automaticamente per la cancellazione il messaggio
copiato. Volendo potremo de-cancellare il messaggio, premendo u.

Gli altri possibili passi sono uguali a quelli illustrati sopra per
la funzione di copia e pertanto non ci ripetiamo.


Lo spostamento di un messaggio può essere effettuato anche mentre siamo nel pager e lo stiamo leggendo. Eseguendo l'operazione dal pager, come per l'operazione di cancellazione, Mutt passa automaticamente alla visualizzazione del prossimo messaggio elencato nell'indice.

5. Modificare un messaggio

Mutt ci consente di entrare in editing di un messaggio contenuto in una delle nostre mailbox per modificarlo. A tal fine utilizziamo il comando edit:

1. Entriamo in lettura del messaggio (oppure lo selezioniamo nell'indice messaggi).

2. Premiamo e (edit) per entrare in editing del messaggio.

3. Effettuiamo le modifiche e usciamo dall'editor salvando.

4. Mutt crea un nuovo messaggio con quello modificato e tagga per la
cancellazione il messaggio originale (possiamo de-cancellarlo premendo u).





6. Salvare un file allegato ad un messaggio

Se abbiamo ricevuto un messaggio con un file allegato possiamo salvarlo su disco in modo rapido:

1. Entriamo in lettura del messaggio (oppure lo selezioniamo nell'indice messaggi).

2. Premiamo v (view-attachments) per entrare nell'attachment menu.

3. Selezioniamo il file allegato.

4. Premiamo s (save) per salvare in un file l'allegato.

5. Mutt proporrà di salvarlo nella home dell'utente, confermiamo
premendo Invio.
(se non va bene, cancelliamo il nome file, premiamo Tab,
navighiamo fino alla directory desiderata, inseriamo il nome file
e diamo Invio).


7. Stampare un messaggio

Per stampare un messaggio (o i messaggi, nel caso in cui se ne siano selezionati più d'uno)

1. Entriamo in lettura del messaggio (oppure lo selezioniamo nell'indice messaggi).

2. Premiamo p (print).

3. Confermiamo con invio (questo passo può essere saltato, vedi set print)

Per formattare il messaggio da stampare suggerisco di utilizzare Muttprint, che elabora il messaggio, consentendo di ottenere una stampa chiara ed elegante.

Presumiamo che abbiate già la stampante configurata (con CUPS) e che Muttprint sia installato; vediamo quindi la semplice configurazione da inserire nel .muttrc e quella del programma stesso, attraverso .muttprintrc.

In .muttrc vanno settate le variabili print_command, print, print_split, print_decode

## S T A M P A
#-----------------
#
# Settando la variabile si imposta il programma che Mutt esegue
# alla pressione del tasto "p" (di default associato al comando di stampa).
# valore di default = "lpr"

set print_command = "muttprint"

# Settando la variabile si stabilisce il comportamento di Mutt
# alla pressione del tasto "p".
# (utile per evitare che parta la stampa premendo accidentalmente "p")
# valore di default = ask-no

set print = ask-yes

# Settando la variabile a yes, per ogni messaggio selezionato alla
# pressione del tasto "p" viene eseguito il comando impostato con
# print_command.
# Settando la variabile a no, i messaggi selezionati vengono concatenati
# e stampati con un unico comando (sempre quello impostato con
# print_command. In tal caso viene inviato alla stampante un cambio
# pagina ogni volta che si passa da un messaggio all'altro
# valore di default = no

set print_split = yes

# Settando la variabile a no si richiede di NON decodificare il messaggio
# prima di passarlo al programma incaricato della stampa (sempre quello
# impostato con print_command). Tale settaggio va bene nel caso in cui
# il programma sia in grado di effettuare la formattazione del messaggio
# (come è in effetti nel caso di Muttprint).
# Utilizzando altri programmi (ad esempio con enscript) incaricati di
# stampare potrebbe essere invece necessario impostare la variabile a "yes"
# valore di default: yes

set print_decode = no


In .muttprintrc si può personalizzare il modo in cui viene formattato il messaggio da stampare.

Il modo più semplice per costruire il proprio .muttprintrc è quello di copiare nella propria home il file di esempio in lingua italiana (sample-muttprintrc-it), fornito insieme al programma (su Debian lo trovate in /usr/share/doc/muttprint/, ma un semplice locate vi confermerà l'esatta ubicazione del file).

Le opzioni contenute nel file sono tutte chiaramente comprensibili, anche grazie ai commenti disponibili. Vediamo pertanto solo il settaggio delle variabili strettamente legate ai comandi di stampa.

# Qui puoi configurare la tua stampante.
# Per verificare l'ID della tua stampante usa l'interfaccia web di CUPS,
# oppure lancia da console lpq
# Se vuoi stampare su file, puoi utilizzare la seguente sintassi
# PRINTER="TO_FILE:/path.che.vuoi/stampa.messaggio.ps"
#PRINTER="lp"

PRINTER="Epson-D68"

# Qui puoi impostare il comando di stampa
# $PRINTER verra` sostituito dalla variabile PRINTER
#PRINT_COMMAND="lp -P$PRINTER"

PRINT_COMMAND="CUPS"

Muttprint vi consente di stampare la X-Face del mittente il messaggio e in alternativa, se non presente, una immagine. Per stampare la X-Face Muttprint avrà bisogno del programma compface. Per stampare una immagine, se utilizzate Debian, potete scaricare il pacchetto ospics, che contiene alcuni pinguini e il logo Debian.

In alternativa a Muttprint, potremmo utilizzare programmi come GNU enscript o a2ps. Qui non li trattiamo, ma in rete si trovano molti esempi di .muttrc in cui si utilizzano questi programmi per supportare la stampa (fate una ricerca con set print_command = "enscript, oppure con set print_command = "a2ps).

Conclusione

In questo quarto capitolo abbiamo imparato come:

1. Ricercare un messaggio.
2. Ricercare del testo in un messaggio che stiamo leggendo.
3. Limitare la visualizzazione dei messaggi in base ad un criterio.
4. Utilizzare i pattern, una speciale espressione regolare.
5. Cancellare uno o più messaggi e allegati (o De-Cancellare).
6. Copiare un messaggio.
7. Spostare un messaggio.
8. Modificare un messaggio rieditandolo.
9. Salvare un file allegato ad un messaggio.
10. Stampare un messaggio con un format personalizzato

Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

Commenti

Post popolari in questo blog

Rilasciano BlenderBot v3, un chatbot che utilizza il loro modello OPT e aprono la demo per testarlo

Componenti aggiuntivi di Google Workspace

Come si cambiano le autorizzazioni per file e cartelle?