27.7. Introduzione a mailsync

mailsync è principalmente indicato per le seguenti tre operazioni:

27.7.1. Configurazione e uso

mailsync distingue tra la casella di posta (l'archivio) e la connessione tra due caselle di posta (il canale). Le definizioni degli archivi e dei canali sono contenute in ~/.mailsync. I paragrafi che seguono forniscono alcuni esempi di archivi.

Una definizione semplice può avere il seguente formato:


store saved-messages { 
   pat Mail/saved-messages
prefix  Mail/
}

Mail/ è una sottodirectory della directory home dell'utente che contiene le cartelle della posta elettronica compresa la cartella saved-messages. Se si avvia mailsync con il comando mailsync -m saved-messages, il comando visualizza un indice di tutti i messaggi contenuti nella sottodirectory saved-messages. Se si specifica la seguente definizione:


store localdir { 
pat     Mail/* 
prefix  Mail/ 
} 

Il comando mailsync -m localdir elenca tutti i messaggi salvati in Mail/. Il comando mailsync localdir elenca invece i nomi delle cartelle. Le specifiche di un archivio su un server IMAP hanno il seguente formato:


store imapinbox {
server {mail.edu.harvard.com/user=gulliver}
ref    {mail.edu.harvard.com}
pat    INBOX 
}

Nell'esempio precedente, il programma utilizza solo la cartella principale del server IMAP. L'archivio di due sottocartelle avrebbe il seguente formato:


store imapdir {
server {mail.edu.harvard.com/user=gulliver}
ref {mail.edu.harvard.com}
pat INBOX.*
prefix  INBOX.
}

Se il server IMAP supporta connessioni cifrate, le specifiche del server devono essere cambiate in:


server {mail.edu.harvard.com/ssl/user=gulliver}

Oppure, se il certificato del server non è noto:


server {mail.edu.harvard.com/ssl/novalidate-cert/user=gulliver}

Il significato del prefisso è spiegato nelle sezioni che seguono.

A questo punto tutte le cartelle sotto a Mail/ devono essere collegate alla sottodirectory del server IMAP:


channel folder localdir imapdir {
msinfo .mailsync.info
} 

mailsync utilizza il file msinfo per tenere traccia dei messaggi già sincronizzati.

Il comando mailsync folder esegue le seguenti operazioni:

  • Espande lo schema della casella di posta su entrambi i lati.

  • Rimuove il prefisso dai nomi delle cartelle risultanti.

  • Sincronizza le cartelle in coppia (o le crea se non esistono)

La cartella INBOX.sent-mail sul server IMAP viene sincronizzata con la cartella locale Mail/sent-mail (a condizione che esistano le definizioni descritte in precedenza). La sincronizzazione tra le singole cartelle viene eseguita come segue:

  • Se il messaggio è presente su entrambi i lati non viene effettuata alcuna operazione.

  • Se il messaggio non è presente su uno dei lati ed è nuovo (ossia non è elencato nel file msinfo), viene trasmesso al file.

  • Se il messaggio esiste su un lato ed è vecchio (ossia è già presente nel file msinfo), viene cancellato dal file perché il messaggio che esisteva sull'altro lato è stato ovviamente eliminato.

Per sapere in anticipo quali messaggi verranno trasmessi e quali eliminati durante una sincronizzazione, avviare mailsync con un canale e un archivio utilizzando il comando mailsync folder localdir. Questo comando visualizza un elenco di tutti i nuovi messaggi dell'host locale e un elenco di tutti i messaggi che verrebbero cancellati sul lato IMAP durante la sincronizzazione. Il comando mailsync folder imapdir visualizza un elenco di tutti i messaggi nuovi sul lato IMAP e un elenco di tutti i messaggi che verrebbero cancellati dall'host locale durante la sincronizzazione.

27.7.2. Problemi possibili

In caso di perdita di dati, il metodo più sicuro è quello di eliminare il file del registro applicabile msinfo. Conseguentemente tutti i messaggi presenti su un solo lato vengono visualizzati come nuovi e trasmessi durante la successiva operazione di sincronizzazione.

Nella sincronizzazione vengono inclusi solo i messaggi con un ID messaggio. I messaggi senza ID messaggio vengono ignorati, ossia non trasmessi o eliminati. L'assenza dell'ID messaggio si verifica generalmente durante l'invio o la scrittura di messaggi con programmi difettosi.

Su alcuni server IMAP la cartella principale viene richiamata con INBOX mentre le sottocartelle vengono richiamate con nomi selezionati casualmente (a differenza di INBOX e INBOX.name). Quindi, su questi server IMAP non è possibile specificare uno schema esclusivo per le sottocartelle.

Dopo la corretta trasmissione dei messaggi a un server IMAP, i driver della casella di posta (client c) usati da mailsync impostano un flag di stato specifico. Ciò spiega perché alcuni programmi di posta come mutt non sono in grado di identificare i messaggi come nuovi. Per disabilitare l'impostazione di questo flag di stato, usare l'opzione -n.

27.7.3. Ulteriori informazioni

Il file README in /usr/share/doc/packages/mailsync/, fornito con mailsync, fornisce ulteriori informazioni. Per questa connessione, vale la pena leggere RFC 2076 "Common Internet Message Headers" (Intestazioni dei messaggi Internet comuni).