This is an old revision of the document!
Table of Contents
Gestione posta con Maildir
NOTA: Queste note risalgono al 19 Ott 2004, bisognerebbe verificarne la validità con le nuove versioni Debian GNU/Linux.
Variabile d'ambiente MAIL
Accedendo via telnet e via ssh viene eseguito il modulo pam_mail.so che stampa il messaggio “You have new mail” e imposta la variabile MAIL. Per modificare il default (/var/mail/<username>) si modificano i file /etc/pam.d/login e /etc/pam.d/ssh modificando come segue:
session optional pam_mail.so standard noenv session optional pam_mail.so standard dir=~/Maildir
Purtroppo il modulo PAM non viene utilizzato durante su(1), forse si potrebbe modificare /etc/pam.d/su.
Variabile d'ambiente MAILDIR
In /etc/login.defs si imposta QMAIL_DIR Maildir/ in modo che al login venga impostata la variabile MAILDIR=~/Maildir. Purtroppo login.defs non viene utilizzato sshd(8), ma solo da login(1) quando si entra via telnet e da su(1). Inoltre la variabile MAILDIR viene ignorata ad esempio da mutt.
MAIL e MAILDIR in un colpo solo
Visti i risultati deludenti di cui sopra, conviene impostare le due variabili direttamente in /etc/profile.
Mutt
Per convincere mutt a leggere la posta dalla maildir basta avere la variabile d'ambiente MAIL=~/Maildir. L'opzione set mbox_type=Maildir in .muttrc pare superflua.
POP3 e IMAP
Il server POP3 deve essere compatibile con Maildir, installato pertanto courier-pop. Pare che l'installazione di default vada bene. Eventualmente per creare la gerarchia ~/Maildir/ senza dover inviare una mail all'utente, è sufficiente far girare a nome dell'utente il comando maildirmake Maildir.
Anche il server IMAP deve essere compatibile Maildir. Installato courier-imap. Anche in questo caso pare che le impostazioni di default siano piu' che adeguate.
Sono state installate anche le versioni SSL dei due pacchetti.
Conversione da Maildir a mbox
In generale capita di fare il passaggio dal vecchio formato mbox (unico file per tutti i messaggi di una cartella) al più moderno Maildir (una cartella in cui ogni messaggio è un file). Tuttavia potrebbe essere necessario fare il contrario, ad esempio per importare una Maildir come posta locale di un client Thunderbird.
È possibile in questo caso utilizzare mutt con una sola riga di comando:
mutt -f "/backup/mail/.Sent/" \ -e 'set mbox_type=mbox; set confirmcreate=no; set delete=no; push "T.*<enter>;sSent<enter><quit>"'
In questo esempio si esporta la Maildir archiviata in /backup/mail/.Sent/ nel file Sent (relativo alla directory corrente). In pratica mutt viene invocato indicando quale mailbox caricare, si impostano alcuni parametri tra cui il formato preferito mbox e infine si lancia una macro che ha il seguente significato:
| T.* | Seleziona tutti i messaggi della mailbox corrente. |
|---|---|
| ;s | Relativamente a tutta la selezione, salva in altra cartella (mbox). |
| Sent | Nome del file mbox da creare. |
