Hai tutte le email su uno o più account Google Apps o Gmail, ma hai attivato un tuo server dedicato o un VPS, come quelli offerti da Hosting Solutions, e vuoi trasferire la tua posta dagli account di Mountain View ai tuoi personali. Non è impossibile e non è così complicato come credi!
In realtà, hai tutto il diritto a conservare la tua posta elettronica dove meglio credi e, da questo punto di vista, c’è da dire che Google e Gmail sono aperti a tal punto che non ti vincolano assolutamente a tenere l’archivio email sui loro server. Il supporto al protocollo IMAP e tante altre caratteristiche offerte da Mountain View, ti permettono di migrare la tua posta elettronica dove meglio credi e con estrema facilità, a patto di avere gli strumenti giusti e seguire le guide corrette.
Per questo, ho deciso che nel corso delle prossime pubblicazioni, ti proporrò una serie di post dedicati a questo argomento, suggerendoti diverse soluzioni con cui trasferire ed archiviare come backup le tue email Google sul tuo server dedicato (VPS o fisico che sia), a patto che tu stia utilizzando una distribuzione Linux, come ad esempio Ubuntu.
Per il resto, per questo primo appuntamento avrai bisogno di DoveCot, mentre nei prossimi ti svelerò l’uso di un altro strumento molto interessante. In chiusura del ciclo, ti proporrò come leggere la posta Gmail direttamente dal tuo client RoundCube installato sul tuo server dedicato.
Trasferire email da Gmail al server dedicato con imapsync
Per prima cosa voglio che tu sappia che non c’è differenza nei passaggi che ti suggerirò qui e negli altri appuntamenti se hai un account Gmail o uno Google Apps. Tutto si svolge in maniera identica, indipendentemente dalla tipologia di account a tua disposizione.
A questo punto, per passare tutta la tua posta elettronica dagli account Google al tuo server dedicato, collegati alla tua console Ubuntu, assicurati di aver installato dovecot-imapd e inizia a usare la funzione imapsync, attraverso lo script che segue:
imapsync –host1 imap.gmail.com –user1 nomeutente@gmail.com
–passfile1 /path/to/gmail_mirror.passfile1 \
–host2 indirizzo_IP_localhost –user2 nome utente
–passfile2 /path/to/gmail_mirror.passfile2 \
–ssl1 \
–useheader ‘Message-Id’ –skipsize –allowsizemismatch \
–syncinternaldates –noauthmd5 -nofoldersizes \
–split1 100 –split2 100 \
–regextrans2 ‘s / \ [Gmail \] / nomeutente \ @ gmail.com /’ \
–include “All Mail | Sent Mail” –delete2 –expunge2
Nello specifico, lo script che ti indico non fa altro che trasportare via IMAP le email presenti sull’account Google indicato come fonte (host1) sull’account di posta elettronica sul server dedicato (host2). Con –regextrans2 hai l’opportunità di riscrivere al volo i nomi della cartella IMAP principale per farla corrispondere alla tua struttura di posta elettronica, mentre con –include hai l’opportunità di decidere quali cartelle di posta elettronica copiare. Io ti ho indicato la cartella di tutte le email e la posta inviata.
Con –delete2 cancelli i messaggi sull’host2 che non sono sull’host1. Poiché usando il protocollo IMAP i messaggi sottoposti a delete non vengono cancellati realmente, ma vengono solo eliminati dai futuri accessi, per avere la certezza di eliminare completamente i messaggi inutili sul server devi usare l’opzione –expunge2.
Il processo di sincronizzazione può durare anche più di un paio di ore a seconda delle quantità delle email archiviate, ma al termine si avrà a disposizione un file archivio in formato MBOX che può essere consultato anche tramite alcuni client come Mutt, Alpine e via discorrendo.
PS: per essere sicuro che tutto funzioni a dovere, ricordati di attivare la modalità di consultazione della posta elettronica Gmail via IMAP, come indicato qui.