Mutt : visualizzare le mailbox contenenti nuovi messaggi

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da joe »

Nella directory ~/Mail ho diverse mailbox in formato mbox, quindi sono dei semplici files in cui sono scritti i messaggi email uno dopo l'altro.
Mutt ha diverse schermate che chiama "menu", ad esempio c'è l'"index menu" il "pager manu" e per arrivare a quello che interessa a me c'è anche il "browser menu".
Il browser menu consente di navigare nell'intero file system, ma in prima battuta apre il contenuto della nostra mail directory che nel mio caso è settata a "~/Mail".
In questa schermata possiamo vedere una lista dei file contenuti appunto in ~/Mail. Nel mio caso vi sono contenute esclusivamente le varie mailboxes.
Per ciascuna di queste mailboxes vengono visualizzate diverse informazioni come i permessi su questi file, la data/ora di ultima modifica, ecc ecc...
Tra le altre cose dovrebbe essere possibile vedere anche un flag "N" che contraddistingue a presenza di nuovi messaggi nella mailbox corrispondente.
Per capirci meglio metto qua di seguito il link ad uno screenshot presente proprio sul sito del progetto di mutt:

http://www.mutt.org/screenshots/browser.gif

Come vedete nell'immagine, semplificando, ogni riga è relativa ad una mailbox particolare, mentre sulle colonne vengono mostrate le informazioni corrispondenti:
- un indice numerico
- il flag "N" se nella mailbox ci sono nuovi messaggi
- i permessi della mailbox
- numero di hardlinks (???)
- il proprietario e il gruppo di appartenenza
- la dimensione della mailbox
- la data e ora di ultima modifica
- il nome del file della mailbox
- la data l'ora di ultima modifica

Il problema che riscontro è la mancanza del flag "N".
Nella mia configurazione scarico la posta con fetchmail che passa i messaggi a procmail. Quest'ultimo li aggiunge nelle varie mailbox in modo appropriato secondo le regole di smistamento impostate.
Ho fatto in modo che, allaperture di Mutt, la prima schermata che appare sia proprio la visualizzazione del contenuto della directory delle mail ~/Mail. Ho infatti impostato nel muttrc la direttiva "push c<TAB>"... Siccome di default all'apertura mutt apre la mailbox "inbox" definita dalla variabile "spoolfile", ecco che per andare al browse menu occorre premere "c" (change) per cambiare mailbox e quindi <TAB> per fare in modo che ci venga mostrato il contenuto della directory ~/Mail. La direttiva "push" descritta serve solo per automatizzare questa serie di operazioni.
Ricapitolando, scarico la posta, i nuovi messaggi si aggiungo alle mailbox, apro mutt e ho davanti al naso la lista delle varie mailboxes. A questo punto mi aspetterei di vedere contrassegnate da flag "N" quelle che contengono nuovi messaggi.
È una comodità visto che si può così andare a controllare solo le mailbox contrassegnate da "N" senza considerare le altre in cui si è sicuri che non vi sono nuovi messaggi.

E invece quel flag non appare nonostante alcune mailboxes contengano nuova posta.

Secondo voi dove può stare il problema?
C'è qualcuno che usa Mutt qui sul forum? E che ha una configurazione simile alla mia (formato mbox soprattutto)?

Grazie in anticipo! :)

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da conraid »

Io lo uso regolarmente, ma da qualche anno ormai solo con maildir, mi son liberato di quel pericolo che è mbox.
Però non ho mai avuto alcun problema, mi bastava anche premere la combinazione di tasti per controllare nuova posta e vedevo le nuove mail.
Non è che hai qualche impostazione nel filesystem tipo noatime?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da joe »

Mi hanno chiesto la stessa cosa anche sulla mailing mutt-users.
Ma non ho nessuna impostazione strana nel mtab:

Codice: Seleziona tutto

/dev/sda5 / ext4 rw,commit=0 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
gvfs-fuse-daemon /home/joe/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=joe 0 0
La combinazione per controllare la nuova posta... intendi il comando di lancio di fetchmail tipo?
Anche io ho associato ad esempio "G" al comando fetchmail tramite una macro. E anche io posso vedere i nuovi messaggi marchiati con "N-flag" se mi trovo nella mailbox nella quale è finito il nuovo messaggio in arrivo (cioè quando sono in "index menu" gli N-flags li vedo regolarmente accanto ai singoli messaggi nuovi)
Ma se invece sono in "browser menu", accanto alle singole mailboxes non compare nessun flag "N".

Mi hanno consigliato una prova:

- ricevere un mesaggio nuovo con fetchmail
- aprire mutt
- premere "." (buffy-check...)

Già in questo modo dovrebbe succedere qualcosa nel senso che mutt dovrebbe mostrare le mailboxes con nuovi messaggi.
Invece nel mio caso non accade proprio nulla, resta sempre la stessa schermata con le mailboxes.
Sto iniziando a capirci sempre meno...

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da conraid »

No, avevo impostato il tasto C in browser menù proprio per vedere nuova posta

Codice: Seleziona tutto

bind browser C  check-new
però ora non ricordo se dovevo essere nella mailbox o anche da fuori. Tieni presente che parlo di tanto tempo fa, come detto ora da anni ormai uso solo maildir, anzi, a dire il vero da un paio di anni solo imap.
E mutt lo compilo con le patch per la sidebar.

E quel comando mi serviva sopratutto per vedere la posta locale, perché le mail esterne le visualizzavo dopo averle scaricate con fetchmail (anche questo sostituito poi da getmail) che usavo da linea di comando senza nessun automatismo.

Ora lo stesso comando mi fa vedere le nuove mail in imap, ma utilizzando solo un account è difficile capire se è uguale, e poi ora vedo attraverso la sidebar. Insomma, ricordo poco, si parla davvero di "tanti" anni fa :-)

Tieni presente che i file config che ho qui, relativo alla vecchia impostazione, sono del 2002 :-)

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da joe »

EDIT:
Stavo scrivendo questo messaggio quando hai risposto.
Dal manuale vedo che il comando check-new serve solo se il formato delle caselle di posta è "maildir". Nel mio caso invece sono in mbox, quindi mi sa che non funzionerebbe... comunque provo....
....
Non non succede nulla..
Ad ogni modo, di seguito ti allego il messaggio che avevo inviato poco fà:
---


Il problema è che mancava il comando "mailboxes" nel file di configurazione.
Poi lo avevo aggiunto, ma con una direttiva sbagliata.
Alla fine la stringa corretta da aggiungere nel mio "~/.muttrc" era la seguente:

Codice: Seleziona tutto

mailboxes `echo $HOME/Mail/*`
Questo dice a Mutt di considerare come mailboxes tutti i files contenuti nella mail directory "~/Mail".
In questo modo quando si è in browser menù dentro la mail directory, viene visualizzata la lista delle mailboxes e per ciascuna contenente nuovi messaggi è riportato anche il flag "N", come ci si aspetterebbe.
Ho postato il mio "muttrc" sulla mailing list "mutt-users"

Una cosa che noto, ma probabilmente dipende dalla mia ignoranza circa l'uso di mutt:
- sono in "browser menu" (quindi ho davanti la lista delle mailboxes)
- poniamo che nessuna mailbox contenga nuovi messaggi, quindi non ci siano flag-N
- premo "G" cui ho associato tramite macro il lancio di "fetchmail" per scaricare le nuove mail
- poniamo il caso che venga scaricata qualche nuova mail e che vada ad aggiungersi alla rispettiva mailbox

La domanda è: c'è un comando per fare in modo di far apparire i flag "N" senza dover uscire dal browser menu?
Non so se mi sono spiegato bene...
In pratica un comando per fare un "reload" della schermata "browser menù" in modo che compaiano gli n-flags vicino alle mailboxes che hanno ricevuto le nuove mail appena arrivate.

Chiedo a te conraid, cisto che mi hai risposto prima e conosci Mutt.
Prova a fare il test sopra:
- apri mutt e vai in "browser menu" (non so come hai configurato il programma, ma ad esempio: premi "c", ti viene chiesto quale mailbox aprire e suggerito di premere "?" per avere la lista della mailboxes; tu premi allora "?" e ti ritrovi in "browser menu"). Dovresti avere la lista delle tue caselle di posta davanti insomma...
- ora prova a lanciare fetchmail, eventualmente anche da un altro terminale, lasciando mutt aperto sulla schermata sopra indicata.
- quando fetchmail ha scaricato le nuove mail (ovviamente devono essercene di nuove, io ho fatto questo test inviandomi una mail dalla shell con mailx, ma anche usando direttamente sendmail o addirittura autoinviandosi un messaggio dall'interfaccia web di gmail) ecco che le mailboxes dovrebbero contenere nuovi messaggi ora.
- a questo punto torna sul terminale di mutt che avevi lasciato in "browser menu".

Come faresti per aggiornare quella lista di mailboxes affinchè vengano mostrati anche i flag "N" a fianco a quelle che hanno ricevuto i nuovi messaggi?

- sono sempre in browser menù

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da conraid »

Allora, ho provato con configurazione pulita, però naturalmente con posta locale, ora non riesco a fare prove con fetchmail/getmail

Se premo c (non C) mi manda alla casella dove è arrivata nuova posta, nel mio caso a local


Leggendo il manuale però, non sembra solo maildir, ma ho letto molto velocemente


http://dev.mutt.org/trac/wiki/MuttFaq/Folder

How to get informed about new mail?

When new mail arrives, an automatic (no key pressed) "New mail in ..." notification is shown at the screen bottom. This happens only in the index menu. For manual checking, you can use the buffy-list function which works in the pager, index and folder browser. It prints a list of folders with new mail. However, it will display an up-to-date list only when the index menu is focused. Additionally, you can invoke check-new in the folder browser which updates the display ('N' flag for folders with new mail) and also buffy-lists folder list.
http://www.mutt.org/doc/manual/manual-6.html#ss6.4
browser

change-dir c change directories
check-new TAB check mailboxes for new mail
Di default quel che io ho impostato come C sembra TAB

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da conraid »


Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da joe »

Mah... qua funziona tutto in modo un po' "pittoresco".
Sintetizziamo prima i concetti. Partiamo da qui:
you can invoke check-new in the folder browser which updates the display ('N' flag for folders with new mail)
Il comando che ci serve è quindi "check-new".
Hai ragione: serve anche nel caso si utilizzi mbox...
Per lanciarlo manualmente basta digitare, quando si è nel browser menù (ma anche no..) il comando ":exec check-new".
In questo modo ci togliamo i dubbi legati al bind dei tasti, usando il comando in modo esplicito.

Ecco come ho testato la cosa:
- Dal mio account Gmail, via web mi auto-invio un messaggio di prova (mittente e destinatario coincidono e questo fà si che quando scarico le mail procmail smisti il messaggio nella mailbox chiamata mail.tests: cioè se sono io stesso ad inviarmi una mail è sicuramente un test... allora butta tutto nella mailbox mail.tests).
- apro mutt e vado in browser menu, non vi sono "N" flags perchè la mailbox mail.tests non ha ancora ricevuto il nuovo messaggio in quanto non li ho ancora scaricati
- lancio fetchmail (è indifferente lanciarlo esternamente o da dentro mutt). Il messaggio finisce in mail.tests
- da mutt non si vede ancora nulla
- ora eseguo il comando ":exec check-new"
- E finalmente compare il flag "N"
- bene adesso entro ed esco dalla mailbox mail.test in modo che il messaggio venga marcato come OLD-Unread
- Ora rifaccio da capo inviandomi un altro messaggio e scaricandolo poi con fetchmail per poi aggiornare con check-new
- risultato l'orario di ultima modifica del file mail.tests viene aggiornato, segno che il messaggio si è aggiunto alla mailbox, ma non viene marcata col N-flag.
- Eppure se apro mail.tests c'è un nuovo messaggio marchiato con "N", c'è anche il veccchio messaggio precedente marchiato con "O"...

Ora, questo comportamento non me lo spiego e mi piacerebbe capirne il motivo e come modificarlo per ottenere una situazione usabile.


Venendo un attimo alla mappatura della tastiera e comandi associati, cito il manuale man6:

Codice: Seleziona tutto

browser

change-dir                 c   change directories
check-new                TAB   check mailboxes for new mail
enter-mask                 m   enter a file mask
search                     /   search for a regular expression
search-next                n   search for next match
search-reverse         ESC /   search backwards for a regular expression
select-new                 N   select a new file in this directory
sort                       o   sort messages
sort-reverse               O   sort messages in reverse order
toggle-mailboxes         TAB   toggle whether to browse mailboxes or all files
view-file              SPACE   view file
subscribe                  s   subscribe to current mailbox (IMAP Only)
unsubscribe                u   unsubscribe to current mailbox (IMAP Only)
toggle-subscribed          T   toggle view all/subscribed mailboxes (IMAP Only)
Ovvero in browser menu, il tast TAB ha due funzioni:
1- lancia check-new
2- lancia toggle-mailboxes

Siccome non è possibile la cosa praticamente, colo un comando è associato a TAB.
E nel mio caso è toggle-mailboxes.
Se premo TAB infatti vengono nascosti eventuali altri files che non siano mailboxes e a ciascuna mailbox viene anteposto un "=" nella visualizzazione, che dovrebbe significare "~/Mail/".
Comunque anche premendo TAB i flag "N" compaiono, come pure lanciando "check-new" (vedi sopra).

Resta da capire perchè questa manovra non riesca tutte le volte.
Aggiungo che invece uscendo da mutt e rientrando, ecco che il flag "N" appare accanto alla mailbox mail.tests.

Come si vede la cosa è piuttosto arzigogolata! :|

PS.
Fortuna che dicono "just it works...". :)

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da conraid »

Hai letto quella pagina? http://unix.stackexchange.com/questions ... ew-mesages

perché il tizio si "lamenta" che mutt fa check-new solo se preme un tasto e lui lo vuole automatico.
Però poi il consiglio mi sembra su imap, quindi non penso sia come dici tu.


L'errore delle nuove mail segnalate male, a volte che rimanevano non lette con O, etc.. l'ho avuto anche io, ma tanti anni fa, troppi, non ricordo come risolsi, ma mi sembra che non era di mutt, forse proprio il filesystem.
Non ricordo porca miseria.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Mutt : visualizzare le mailbox contenenti nuovi messaggi

Messaggio da joe »

Conraid grazie comunque...
Facevo qualche prova del tipo sopra descritto inviandomi messaggi da un account esterno e client web gmail.

Mi sono accorto anche di questo comportamento piuttosto inaspettato. Riporto i passaggi del test di prima:
Ecco come ho testato la cosa:
- Dal mio account Gmail, via web mi auto-invio un messaggio di prova (mittente e destinatario coincidono e questo fà si che quando scarico le mail procmail smisti il messaggio nella mailbox chiamata mail.tests: cioè se sono io stesso ad inviarmi una mail è sicuramente un test... allora butta tutto nella mailbox mail.tests).
- apro mutt e vado in browser menu, non vi sono "N" flags perchè la mailbox mail.tests non ha ancora ricevuto il nuovo messaggio in quanto non li ho ancora scaricati
- lancio fetchmail (è indifferente lanciarlo esternamente o da dentro mutt). Il messaggio finisce in mail.tests
- da mutt non si vede ancora nulla
- ora eseguo il comando ":exec check-new"
- E finalmente compare il flag "N"
- bene adesso entro ed esco dalla mailbox mail.test in modo che il messaggio venga marcato come OLD-Unread
- Ora rifaccio da capo inviandomi un altro messaggio e scaricandolo poi con fetchmail per poi aggiornare con check-new
- risultato l'orario di ultima modifica del file mail.tests viene aggiornato, segno che il messaggio si è aggiunto alla mailbox, ma non viene marcata col N-flag.
- Eppure se apro mail.tests c'è un nuovo messaggio marchiato con "N", c'è anche il vecchio messaggio precedente marchiato con "O"...
Proseguendo dal penultimo punto (risultato l'orario di ultima modifica del file mail.tests viene aggiornato, segno che il messaggio si è aggiunto alla mailbox, ma non viene marcata col N-flag). Ho provato a:

Codice: Seleziona tutto

1- spostarmi con la freccia in giù su un'altra mailbox, ad esempio "outbox" o "inbox", non ha importanza insomma (ricordo che mi trovo sempre in browser menu, quindi ho davanti al naso le varie mailboxes).
2- premere "Enter" per entrare/aprire la mailbox scelta (diversa da mail.tests).
3- Invece di trovami in "inbox" o comunque nella mailbox che avevo selezionato, mutt mi porta nella mailbox "mail.tests"!!!
Forse vuole farmi passare prima automaticamente dalla casella con nuova posta???
Boh... ci capisco sempre meno sinceramente.

Rispondi