Migration IMAP · 6 min read · Sep 25, 2025

Comment migrer des boîtes aux lettres entre des serveurs IMAP avec imapsync

Ce guide explique comment vous pouvez migrer des boîtes aux lettres entre des serveurs IMAP avec imapsync. imapsync est un outil de synchronisation, de copie ou de migration IMAP. Plus de 32 logiciels de serveur IMAP différents sont pris en charge avec succès. Tous les indicateurs sont préservés, non lu restera non lu, lu restera lu, supprimé restera supprimé.

1 Remarque préliminaire

J’utilise ici deux serveurs Debian ou Ubuntu (la procédure devrait être la même pour d’autres distributions, seule l’installation de imapsync sera différente) :

  • server1.example.com (source)
  • server2.example.com (cible)

Je souhaite migrer la boîte aux lettres [email protected] (nom d’utilisateur : [email protected], mot de passe : secret) sur server1.example.com vers la boîte aux lettres [email protected] sur server2.example.com (le nom d’utilisateur et le mot de passe sont les mêmes que sur server1.example.com).

2 Avant de commencer

Avant de commencer, jetons un coup d’œil aux deux boîtes aux lettres pour voir ce qu’elles contiennent (vous pouvez le faire avec un client de messagerie tel qu’Outlook, Thunderbird, ou un client de messagerie basé sur le web tel que SquirrelMail - j’utilise SquirrelMail ici).

server1.example.com :

Ancienne boîte aux lettres

server2.example.com :

Nouvelle boîte aux lettres

Après la migration, les deux messages sur server1.example.com devraient être disponibles sur server2.example.com.

3 Installation de imapsync

Peu importe si nous installons imapsync sur server1.example.com ou server2.example.com - nous pouvons même l’installer sur un troisième serveur non impliqué.

aptitude install imapsync

Pour en savoir plus sur son utilisation, jetez un œil à

man imapsync

et

imapsync --help

4 Effectuer la migration

Nous devons indiquer à imapsync les noms d’utilisateur et les mots de passe des comptes de messagerie que nous souhaitons migrer. Théoriquement, nous pouvons utiliser les options –password1 et –password2 pour les mots de passe, mais c’est dangereux car les mots de passe apparaîtraient dans la sortie de

ps aux

(Donc tout utilisateur autorisé à exécuter cette commande connaîtrait les mots de passe.)

Il est donc préférable de créer deux fichiers ( /etc/secret1 et /etc/secret2 dans cet exemple) qui contiennent les mots de passe (dans cet exemple, c’est secret pour les deux comptes de messagerie), de faire un chmod 600 sur ces fichiers, et d’utiliser les options –passfile1 et –passfile2.

echo "secret" > /etc/secret1  
echo "secret" > /etc/secret2  
chmod 600 /etc/secret1  
chmod 600 /etc/secret2

Maintenant, nous pouvons effectuer la migration avec cette simple commande :

imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2

Voici un exemple de sortie :

root@server1:~# imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2  
 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2  
$RCSfile: imapsync,v $ $Revision: 1.252 $ $Date: 2008/05/08 02:30:17 $  
Voici un [système linux] (Linux server1.example.com 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:45:36 UTC 2009 x86_64)  
avec perl 5.10.0 et le module Mail::IMAPClient version utilisé ici est 2.2.9  
Ligne de commande utilisée :  
/usr/bin/imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2  
 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2  
Synchronisation interne des dates activée, définira les dates internes sur host2 identiques à host1.  
Fuseau horaire :[CEST]  
Tentera d'utiliser l'authentification CRAM-MD5 sur host1  
Tentera d'utiliser l'authentification CRAM-MD5 sur host2  
Depuis le serveur imap [server1.example.com] port [143] utilisateur [[email protected]]  
Vers le serveur imap [server2.example.com] port [143] utilisateur [[email protected]]  
Bannière : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA  
 IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP prêt. Copyright 1998-2008 Double Precision, Inc.  Voir COPYING pour des informations de distribution.  
Le serveur host server1.example.com dit qu'il n'a AUCUNE CAPACITÉ pour AUTHENTICATE CRAM-MD5  
Erreur de connexion : [server1.example.com] avec l'utilisateur [[email protected]] auth [CRAM-MD5]: 3 NO Échec de la connexion.  
   
Tentative de mécanisme d'authentification LOGIN sur [server1.example.com] avec l'utilisateur [[email protected]]  
Connexion réussie sur [server1.example.com] avec l'utilisateur [[email protected]] auth [CRAM-MD5]  
Bannière : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA  
 IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP prêt. Copyright 1998-2008 Double Precision, Inc.  Voir COPYING pour des informations de distribution.  
Le serveur host server2.example.com dit qu'il n'a AUCUNE CAPACITÉ pour AUTHENTICATE CRAM-MD5  
Erreur de connexion : [server2.example.com] avec l'utilisateur [[email protected]] auth [CRAM-MD5]: 3 NO Échec de la connexion.  
   
Tentative de mécanisme d'authentification LOGIN sur [server2.example.com] avec l'utilisateur [[email protected]]  
Connexion réussie sur [server2.example.com] avec l'utilisateur [[email protected]] auth [CRAM-MD5]  
Depuis la capacité : QUOTA STARTTLS NAMESPACE IDLE THREAD=ORDEREDSUBJECT ACL SORT UIDPLUS CHILDREN ACL2=UNION IMAP4REV1 THREAD=REFERENCES  
Vers la capacité : QUOTA STARTTLS NAMESPACE IDLE THREAD=ORDEREDSUBJECT ACL SORT UIDPLUS CHILDREN ACL2=UNION IMAP4REV1 THREAD=REFERENCES  
Depuis l'état Authentifié  
Vers l'état Authentifié  
Depuis le séparateur et le préfixe : [.][INBOX.]  
Vers le séparateur et le préfixe : [.][INBOX.]  
++++ Calcul des tailles ++++  
Depuis le dossier [INBOX]  Taille :  2412 Messages : 2  
Depuis le dossier [INBOX.Drafts]  Taille :  0 Messages : 0  
Depuis le dossier [INBOX.Sent]  Taille :  0 Messages : 0  
Depuis le dossier [INBOX.Trash]  Taille :  0 Messages : 0  
Taille totale : 2412  
Total des messages : 2  
Temps : 11 s  
++++ Calcul des tailles ++++  
Vers le dossier [INBOX]  Taille : 16844 Messages : 6  
Vers le dossier [INBOX.Drafts]  Taille :  0 Messages : 0  
Vers le dossier [INBOX.Sent]  Taille :  0 Messages : 0  
Vers le dossier [INBOX.Trash]  Taille :  0 Messages : 0  
Taille totale : 16844  
Total des messages : 6  
Temps : 0 s  
++++ Liste des dossiers ++++  
Depuis la liste des dossiers : [INBOX] [INBOX.Drafts] [INBOX.Sent] [INBOX.Trash]  
Vers la liste des dossiers : [INBOX] [INBOX.Drafts] [INBOX.Sent] [INBOX.Trash]  
++++ Boucle sur chaque dossier ++++  
Depuis le dossier [INBOX]  
Vers le dossier [INBOX]  
++++ Depuis [INBOX] Analyse 1 ++++  
++++ Vers [INBOX] Analyse 1 ++++  
++++ Vérification [INBOX] -> [INBOX] ++++  
+ NO msg #1 [FID6mR7SVC7csdmRce+7PQ:924] dans INBOX  
+ Copie du msg #1:924 vers le dossier INBOX  
indicateurs de : [\Seen]["26-May-2009 22:00:59 +0200"]  
Copié msg id [1] vers le dossier INBOX msg id [7]  
+ NO msg #2 [4lu3SCjZGH2mRuiP1dY7Mw:1488] dans INBOX  
+ Copie du msg #2:1488 vers le dossier INBOX  
indicateurs de : [()]["27-May-2009 14:12:59 +0200"]  
Copié msg id [2] vers le dossier INBOX msg id [8]  
Temps : 0 s  
Depuis le dossier [INBOX.Drafts]  
Vers le dossier [INBOX.Drafts]  
++++ Depuis [INBOX.Drafts] Analyse 1 ++++  
++++ Vers [INBOX.Drafts] Analyse 1 ++++  
++++ Vérification [INBOX.Drafts] -> [INBOX.Drafts] ++++  
Temps : 0 s  
Depuis le dossier [INBOX.Sent]  
Vers le dossier [INBOX.Sent]  
++++ Depuis [INBOX.Sent] Analyse 1 ++++  
++++ Vers [INBOX.Sent] Analyse 1 ++++  
++++ Vérification [INBOX.Sent] -> [INBOX.Sent] ++++  
Temps : 0 s  
Depuis le dossier [INBOX.Trash]  
Vers le dossier [INBOX.Trash]  
++++ Depuis [INBOX.Trash] Analyse 1 ++++  
++++ Vers [INBOX.Trash] Analyse 1 ++++  
++++ Vérification [INBOX.Trash] -> [INBOX.Trash] ++++  
Temps : 1 s  
++++ Statistiques ++++  
Temps : 12 sec  
Messages transférés : 2  
Messages ignorés : 0  
Total des octets transférés : 2412  
Total des octets ignorés : 0  
Total des octets d'erreur : 0  
0 erreurs détectées  
Veuillez évaluer imapsync à http://freshmeat.net/projects/imapsync/  
? Heureux avec ce logiciel GPL gratuit, open source et gratuit ?  
N'hésitez pas à remercier l'auteur en lui offrant un livre :  
http://www.amazon.com/gp/registry/wishlist/1C9UNDIH3P7R7/  
(ou son compte paypal [email protected])  
root@server1:~#

Ensuite, nous pouvons supprimer les deux fichiers de mot de passe :

rm -f /etc/secret1  
rm -f /etc/secret2

Sur le serveur cible (server2.example.com), déconnectez-vous de votre compte IMAP et reconnectez-vous (un simple rafraîchissement peut ne pas suffire), et vous devriez voir les messages de server1.example.com :

server2.example.com :

Nouvelle boîte aux lettres après avoir migré avec succès les e-mails

5 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.