Comment migrer ses mails depuis Gmail

Dans mon billet du nouvel an, j'expliquais que je n'utilisais plus Gmail et que j'avais migré mes comptes sur mon serveur.
À l'époque, j'avais utilisé des solutions un peu merdiques pour récupérer mes mails. Solution que je n'ai jamais pris la peine d'expliquer. J'ai eu l'occasion de migrer récemment (cette semaine), une boite Gmail vers mon serveur, voici donc deux solutions possibles qui sont relativement simples.

Solution 1, Google Takeout

En bref

Avantages :

  • Rapidité ;
  • Permet de mettre les mails récupérés dans un dossier spécifique.

Inconvénients :

  • Tri des mails à faire à la fin ;
  • Nécessite d'avoir accès au serveur.

Google Takeout

Voici une fonctionnalité qui n'existait pas (ou ne fonctionnait pas) à l'époque. Il s'agit donc de la première étape, demander à Google une archive complète de la boite mail.

Pour ce faire, on va sur ce site et on sélectionne Gmail et un format d'archive tbz2 (meilleure compression). Il suffit d'attendre quelques heures et Google prévient que le fichier est disponible au téléchargement.

La mauvaise surprise : Gmail envoie bien la totalité de la messagerie, mais dans un seul fichier (y compris les messages envoyés)… Adieu, donc, les classements que vous aviez faits.

Conversion en Maildir

Une fois l'archive récupérée et copiée sur le serveur, j'ai utilisé l'utilitaire mb2md pour convertir les mails stockés dans le format Mailbox vers le format Maildir qui est celui de mon serveur web.

cd /srv/mail/aplu.fr/nouveaucompte/
mkdir .Gmail
cd .Gmail
mb2md -s /mnt/tmpvol/Takeout/Gmail/Tous\ les\ messages\,\ y\ compris\ ceux\ du\ dossier\ Spam\ .mbox -d $PWD/

Après une petite demi-heure de travail, les 10 Go de mails sont visibles dans le dossier Gmail, il ne reste plus qu'à les (re)trier, opération facilement réalisable avec Thunderbird en configurant des règles en local.

Solution 2, ImapCopy

En bref

Avantage :

  • Conserve les mails dans les dossiers respectifs.

Inconvénients :

  • Long ;
  • A priori, pas de possibilité de reprise.

Côté Gmail

La seule chose à faire est d'activer IMAP sur le profil Gmail. Je vous laisse chercher dans la documentation Google pour activer ce paramètre.

ImapCopy

ImapCopy est un logiciel disponible sous Debian avec le paquet : imapcopy (surprise !). À noter qu'il faut aussi installer l'utilitaire stunnel pour pouvoir effectuer les copies car imapcopy ne supporte pas le chiffrement. Pour les autres systèmes, je ne sais pas mais l'utilitaire existe sûrement.

Le principe est le suivant, avec l'utilitaire stunnel, on ouvre un tunnel vers Gmail et vers le nouveau serveur imap pour avoir deux ports en local connectés sur les serveurs imap respectifs. Ensuite, on lance imapcopy qui fera le reste du travail.

Le fichier de configuration suivant :

#serveur source correspond au port qui sera ouvert par stunnel
SourceServer localhost
SourcePort 1143
#idem pour le serveur cible
DestServer localhost
DestPort 2143
converttimezone "UTC" "+0000"
converttimezone "UT"  "+0000"
# les logins et mdp des deux comptes
Copy    "moi@gmail.com"         "jaimelansa"       "moi@monserveur.fr"           "correct horse battery staple"

Puis, on lance les commandes suivantes :

stunnel -c -f -d 1143 -r imap.gmail.com:993 -P '' #serveur source, ici le serveur imap gmail
stunnel -c -f -d 2143 -r imap.monserveur.fr:993 -P '' #serveur cible, ici le serveur imap de monserveur.fr
imapcopy

Une fois la copie effectuée, les mails sont logiquement sur le nouveau serveur.

Astuce pour rediriger TOUS les mails

Une fois la migration effectuée, il peut être pas mal de rediriger les mails qui arrivent encore sur Gmail vers la nouvelle adresse.

Google propose cette option dans les règlages du compte, cependant, ça ne redirige pas les mails jugés comme spam. En soi, ce n'est pas problématique, mais si l'on ne souhaite pas aller vérifier tous les 4 matins si le filtre anti-spam a bien fonctionné, il est plus prudent de rediriger aussi les spams.

Pour ce faire, on crée sur Gmail une règle avec comme motif "is:spam" et comme action "Ne pas marquer comme spam."
Ainsi, tous les messages, y compris ceux que Google considère comme du SPAM, seront transférés sur la nouvelle adresse moi@monserveur.fr.

Haut de page