User Tools

Site Tools


doc:appunti:linux:sa:maildir

This is an old revision of the document!


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.
doc/appunti/linux/sa/maildir.1395834861.txt.gz · Last modified: 2014/03/26 12:54 by niccolo