Imapsync: sincronizzazione, copia e trasferimento di mailbox imap

From RVM Wiki
Revision as of 14:49, 14 January 2010 by Gabriele.vivinetto (talk | contribs)
Jump to navigation Jump to search


Attenzione: non funziona bene con Debian Woody (probabilmente per librerie perl vecchie)

Installazione

Installazione su Debian Lenny

sudo apt-get install imapsync

Installazione dai sorgenti su Debian Etch o Sarge

Prelevare il file e scompattarlo:

cd /files/src && \
wget http://www.linux-france.org/prj/imapsync/dist/imapsync-1.133.tgz && \
tar xvzf imapsync-1.133.tgz && \
cd imapsync-1.133


Installazione librerie necessarie

Installare la librerie perl necessarie:

apt-get install libmail-imapclient-perl libterm-readkey-perl libhmac-perl


Simulazione copia di una mailbox

Sul server di destinazione assicurarsi che

  • la mailbox di destinazione sia accessibile, e contenga almeno un messaggio.
  • che sia presente la cartella "Posta importata", altrimenti crearla con un client imap.
  • Per copiare
dal server sorgente.domain.tld al server destinazione.domain.tld
dalla casella casella.sorgente con password passwdsorgente
alla casella casella.destinazione con password passwddestinazione
mettendo il tutto in una cartella "Posta importata":
  • Simulazione
./imapsync \
--host1 sorgente.domain.tld     --user1 casella.sorgente     --password1 passwdsorgente     --authmech1 LOGIN\
--host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\
--prefix2 'INBOX.Posta importata.' \
--syncinternaldates --nosyncacls \
--dry \
2>&1 | tee importazione.log
  • Trasferimento delle sole cartelle:
./imapsync \
--host1 sorgente.domain.tld     --user1 casella.sorgente     --password1 passwdsorgente     --authmech1 LOGIN\
--host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\
--prefix2 'INBOX.Posta importata.' \
--syncinternaldates --nosyncacls \
--justfolders \
2>&1 | tee importazione.log


  • Trasferimento dei files:
./imapsync \
--host1 sorgente.domain.tld     --user1 casella.sorgente     --password1 passwdsorgente     --authmech1 LOGIN\
--host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\
--prefix2 'INBOX.Posta importata.' \
--syncinternaldates --nosyncacls \
2>&1 | tee importazione.log
  • Cancellazione dei files sorgenti:
./imapsync \
--host1 sorgente.domain.tld     --user1 casella.sorgente     --password1 passwdsorgente     --authmech1 LOGIN\
--host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\
--delete \
--prefix2 'INBOX.Posta importata.' \
--syncinternaldates --nosyncacls \
2>&1 | tee importazione.log
  • Expunge dei files sorgenti:
./imapsync \
--host1 sorgente.domain.tld     --user1 casella.sorgente     --password1 passwdsorgente     --authmech1 LOGIN\
--host2 destinazione.domain.tld --user2 casella.destinazione --password2 passwddestinazione --authmech2 LOGIN\
--prefix2 'INBOX.Posta importata.' \
--syncinternaldates --nosyncacls \
--delete \
--expunge1 \
2>&1 | tee importazione.log


Esempio per copia di una sola cartella con sottocartelle da Courier Imap a Mdaemon

./imapsync \
--host1 127.0.0.1       --user1 username1 --password1 pass1 \
--host2 192.168.254.100 --user2 username2 --password2 pass2 \
--regextrans2 's/^INBOX\/(.+)/$1/' --nosyncacls --syncinternaldates --timeout 240\
--include 'INBOX.Spam In Attesa'

Il paramtero --regtrans2 elimina "INBOX." dal nome di destinazione della cartella, che altrimenti sarebbe "INBOX.Spam In Attesa".


Tips

Per velocizzare usare

--nofoldersizes

Se non completa il lavoro, è da un messaggio "Terminated", aumentare il timeout in secondi con:

--timeout 240

Links:

Sito imapsync: http://www.linux-france.org/prj/imapsync/