Bien que la migration de sites Web ne soit généralement pas un problème, il est parfois plus difficile de migrer les boîtes de messagerie. C'est particulièrement le cas lorsque deux serveurs n'utilisent pas le même logiciel. Heureusement, pour simplifier cette étape, il existe de nombreux outils, dont Imapsync, qui est celui dont nous allons parler aujourd'hui.
L'outil Imapsync permet de synchroniser les boîtes aux lettres à l'aide du protocole IMAP. Cela ne fonctionnera que si vous utilisez également IMAP pour récupérer vos e-mails ou si vous n'effacez pas vos e-mails du serveur avec le protocole POP.
Exigences
Avant d'installer des packages sur l'instance de serveur Ubuntu, il est recommandé de mettre à jour le système.
sudo apt-get update
sudo apt-get -y upgrade
Installation
Tout d'abord, vous devez installer les prérequis nécessaires pour exécuter Imapsync.
sudo apt-get install \
git \
libauthen-ntlm-perl \
libclass-load-perl \
libcrypt-ssleay-perl \
libdata-uniqid-perl \
libdigest-hmac-perl \
libdist-checkconflicts-perl \
libfile-copy-recursive-perl \
libio-compress-perl \
libio-socket-inet6-perl \
libio-socket-ssl-perl \
libio-tee-perl \
libmail-imapclient-perl \
libmodule-scandeps-perl \
libnet-ssleay-perl \
libpar-packer-perl \
libreadonly-perl \
libsys-meminfo-perl \
libterm-readkey-perl \
libtest-fatal-perl \
libtest-mock-guard-perl \
libtest-pod-perl \
libtest-requires-perl \
libtest-simple-perl \
libunicode-string-perl \
liburi-perl \
make \
cpanminus \
Il peut être nécessaire de mettre à jour les clients IMAP et JSON avec cpanm
.
sudo cpanm Mail::IMAPClient
sudo cpanm JSON::WebToken
Téléchargez le dernier code Imapsync depuis son référentiel Git officiel.
git clone https://github.com/imapsync/imapsync.git
Accédez au référentiel nouvellement cloné et installez-le avec les commandes suivantes sur votre système.
cd imapsync
mkdir -p dist
sudo make install
Vous pouvez vérifier la version d'Imapsync à l'aide de la commande suivante.
imapsync -v
Synchronisation des e-mails
La syntaxe de synchronisation des e-mails de server1
à en server2
utilisant uniquement les options requises est indiquée ci-dessous.
imapsync --host1 server1.imap.tld --user1 [email protected] --password1 password1 --host2 server2.imap.tld --user2 [email protected] --password2 password2
Mots de passe
Pour éviter de saisir des mots de passe de boîte aux lettres en texte brut, vous pouvez les stocker dans des fichiers et utiliser les arguments --passfile1
et --passfile2
pour les charger automatiquement à partir des fichiers contenant les mots de passe.
imapsync --host1 server1.imap.tld --user1 [email protected] --passfile2 /home/user/pass1 --host2 server2.imap.tld --user2 [email protected] --passfile2 /home/user/pass2
La connexion au serveur IMAP
Plusieurs options sont disponibles pour connecter Imapsync à votre serveur de messagerie, notamment le type de connexion utilisé. Par défaut, Imapsync essaiera d'utiliser SSL ou TLS sur le port 993
pour se connecter. Voici des exemples de connexion sur le serveur à migrer (remplacer 1
par 2
pour le deuxième serveur).
--nossl1
pour une connexion non cryptée via le port 143
( non recommandé )
--ssl1
pour une connexion cryptée avec SSL via le port 993
--tls1
se connecter avec TLS via le port 993
Il existe également des options pour définir le type d'authentification. Ceci est spécifié avec les arguments --authmech1
et --authmech2
, dont les valeurs possibles sont les suivantes (en majuscules).
Dossiers
La synchronisation des dossiers peut provoquer des problèmes, surtout si les dossiers par défaut (Boîte de réception, Spam, Archive, Envoyé) ne sont pas nommés de la même manière sur les deux serveurs de messagerie. Imapsync offre plusieurs options pour cela:
--automap
pour utiliser la reconnaissance automatique des dossiers par défaut.
--nomixfolders
pour éviter de fusionner des dossiers portant un nom similaire en fonction de la sensibilité à la casse.
--prefix1
pour supprimer un préfixe des dossiers à migrer.
--prefix2
pour ajouter un préfixe aux dossiers migrés.
--skipemptyfolders
pour ne pas recréer de dossiers vides sur le serveur de destination.
Options de migration
Pour accélérer la migration des e-mails, vous pouvez utiliser l' --usecache
argument pour stocker temporairement les dossiers sur le serveur sur lequel vous avez installé Imapsync.
Vous pouvez également supprimer des messages du premier serveur avec l' --delete1
argument.
Enfin, avant de démarrer votre migration, n'hésitez pas à utiliser l' --dry
argument pour vérifier le résultat d'une commande, sans l'exécuter.