Sauvegarder ses mails en IMAP

Comme beaucoup, j’utilise depuis des années un service mail offrant une grande capacité de stockage (Gmail), ce qui me permet d’y conserver tous mes messages. Une solution qui offre de multiples avantages (accès de n’importe où, n’importe quand, recherche performante, webmail efficace…), mais qui expose aussi tout cet historique à un risque de suppression. La mise en place d’une sauvegarde s’impose donc, pour compléter les stratégies de sauvegarde que j’ai déjà exposées il y a quelques mois.

Les deux principaux risques pour ce genre de données sont la suppression malveillante, suite à un piratage du compte et la suppression volontaire ou non par le prestataire de service lui même. On peut citer l’exemple du journaliste Matt Honan, dont toutes les données avaient été effacées par un pirate, ou encore celui de Dylan M, qui s’était fait supprimer son compte par Google. Une troisième cause de perte pourrait tout simplement être une fermeture brusque du service, mais c’est relativement peu probable avec les plus gros acteurs du secteur (Gmail, Yahoo Mail, Outlook.com, iCloud…).

Heureusement, se prémunir de ces désagréments n’est pas bien compliqué, pour peu que votre compte mail soit accessible en IMAP. Pour ma part, je le fait avec deux outils, ayant chacun ses avantages et ses inconvénients.

Synchronisation des mails en IMAP

Le premier n’est autre que Mozilla Thunderbird, le client mail de la fondation Mozilla. Comme tout client mail qui se respecte, il peut se synchroniser avec un serveur mail IMAP, en récupérant l’intégralité des mails. Pour ce faire, une fois votre compte paramétré dans Thunderbird (il y a un assistant de paramétrage prenant en charge les principaux services de mail), rendez-vous dans les options de synchronisation du compte (Outils > Paramètres des comptes… > Synchronisation et espace disque) et activez la conservation des messages sur l’ordinateur et leur synchronisation sans limite d’âge :

Thunderbird : paramètres de synchronisation
Thunderbird : paramètres de synchronisation

Pensez aussi à désactiver la suppression automatique des messages, si ce n’est pas déjà fait. Le bouton Avancé… en haut à droite vous permet de choisir quels dossiers IMAP synchroniser. Si vous utilisez Gmail, tous vos messages sont forcément dans le dossier [Gmail]\Tous les messages, dont vous pouvez éventuellement vous passer de la sauvegarde des autres dossiers, pour gagner en espace disque (mais vous perdrez alors la classification des messages).

Ensuite, pour lancer la synchronisation, rendez-vous dans Fichier > Hors connexion > Synchroniser, cochez la case Courriers et validez :

Thunderbird : synchronisation
Thunderbird : synchronisation

La première synchronisation sera un peu longue si vous avez beaucoup de message, mais les suivantes iront normalement bien plus vite.

L’avantage de la sauvegarde avec Thunderbird, c’est qu’il s’agit d’un vrai client mail, ce qui permet donc une consultation facile des mails ainsi sauvegardés (pratique pour vérifier un mail quand on n’est pas connecté…). Mais comme il s’agit d’une synchronisation, il y a un inconvénient : un mail supprimé sur le serveur sera supprimé de la sauvegarde lors de la synchronisation suivante. Il faut donc prendre soin de s’assurer que le contenu de la boîte mail n’a pas été effacé avant de lancer une nouvelle synchronisation, et les mails supprimés par erreur ne pourront pas être récupérés si une synchronisation a eu lieu depuis.

Thunderbird a aussi l’inconvénient de ne pas être adapté aux sauvegardes incrémentales de vos données. En effet, les mails sont stockés dans un gros fichier mailbox pour chaque dossier IMAP synchronisé, donc même si un seul nouveau mail a été synchronisé, votre logiciel de sauvegarde devra reprendre tous le fichier correspondant, ce qui peut grandement augmenter le volume de vos sauvegardes incrémentales.

Sauvegarde incrémentale des mails en IMAP

Pour palier à ce problème de taille des sauvegardes incrémentales, je me suis mis en quête d’un logiciel permettant d’avoir un fichier par mail. Après quelques recherches, j’ai sélectionné IMAPSize. Ce petit freeware permet de récupérer tous les mails d’un compte IMAP et de les sauvegarder individuellement sous forme de fichiers .eml (de simples fichiers texte), qui peuvent ensuite être ouverts avec bon nombre de clients mails (dont Thunderbird). Il est également capable de faire l’opération inverse.

Tout d’abord, commencez par configurer votre compte mail dans le logiciel : Account > New…. Vous aurez besoin de quelques informations que vous devriez trouver dans l’aide en ligne de votre service de messagerie :

IMAPSize : ajout d'un compte
IMAPSize : ajout d’un compte

Une fois le compte ajouté, rendez-vous dans Account > Account Backup. Vous obtiendrez alors la liste des dossiers trouvés dans votre compte IMAP et pourrez sélectionner ceux à sauvegarder :

IMAPSize : liste des dossiers
IMAPSize : liste des dossiers

Cliquez sur Backup, et patientez (comme avec Thunderbird, la première synchronisation est longue, les suivante bien plus rapides…). Vous devriez normalement vous retrouver avec un bon paquet de fichiers .eml :

IMAPSize : contenu de la sauvegarde
IMAPSize : contenu de la sauvegarde

Notez qu’il y a quelques options intéressantes dans Tools > Options. Outre le choix de l’emplacement des sauvegardes, vous pourrez notamment configurer un filtrage des spams pour ne pas les inclure dans la sauvegarde, ou encore le format de construction du nom des fichiers .eml. Il peut être intéressant par exemple de les préfixer avec la date du message (%DATE) pour que l’ordre d’apparition dans l’explorateur de fichiers corresponde à l’ordre des messages (par défaut, c’est l’ordre de la sauvegarde, qui n’est pas forcément le même…). Pour ma part, j’ai mis tous les champs possibles, en spécifiant le format %DATA_%FROM_%SUBJECT_%MSGNUM_%CURTIME, histoire d’avoir des noms les plus explicites possibles.

Contrairement à Thunderbird, IMAPSize s’accommode donc bien des sauvegardes incrémentales, du fait de la sauvegarde de chaque mail dans un fichier. De plus, à chaque sauvegarde, il ne fait que récupérer les nouveaux mails, sans supprimer de la sauvegarde ceux qui ont été supprimés du serveur. Un gros plus pour pouvoir retrouver un message supprimé. La sauvegarde est par contre beaucoup moins pratique à exploiter, puisqu’il faut naviguer manuellement dans l’arborescence des fichiers.

IMAPSize peut aussi être lancé en ligne de commande, ce qui permet d’automatiser facilement le lancement d’un backup à intervalles réguliers.

Voilà, avec tout ça vos mails devraient être à l’abri 🙂 Bien sûr, il existe une multitude d’autres solutions, peut-être meilleures sur certains points (un client mail qui stocke chaque mail dans un fichier indépendant, ça pourrait être pas mal), mais aussi d’autres méthodes de sauvegarde, par exemple en copiant une boîte IMAP vers une autre, hébergée ailleurs. N’hésitez pas à partager vos solutions dans les commentaires !

15 réflexions sur « Sauvegarder ses mails en IMAP »

  1. Bonjour,
    merci pour ces explications, mais il y a un truc que je ne comprends pas :
    je lis mes mails sur thunderbird, j’ai des comptes gmail et yahoo et tous les comptes sont en imap.
    MAIS maintenant j’ai 15 Go sur mon disque dur! pourquoi? je pensais avec imap tout est stocké sur le serveur…
    comment je peux faire de la palce sur mon disque dur sans supprimer mes dossiers sur mon disque dur et/ou serveur?
    je suis sous mac OS 10
    un supergrand merci pour votre aide,
    ursula
    ursula (@) yahoo.fr

  2. Oui, en IMAP tout est conservé sur le serveur, mais également dans Thunderbird, qui en garde une copie en local pour pouvoir consulter les mails même hors connexion.

    Ce comportement est toutefois configurable. Rendez-vous dans le menu Outils > Paramètres des comptes. Là, vous avez pour chaque compte une série d’options dans la rubrique « Synchronisation et espace disque » qui vous permet de limiter la consommation d’espace disque en local. Vous pouvez complètement désactiver le stockage local, mais je ne vous le recommande pas. Pour limiter l’embonpoint, le mieux est à mon avis de cocher « Synchroniser les plus récents » et de limiter par exemple à 10 ou 20 jours. Ainsi, les mails anciens seront supprimés au fur et à mesure de votre disque dur (ils resteront par contre sur le serveur).

  3. Bonjour
    le problème de IMAPSIZE c’est qu’il ne garde pas la date des mails. En effet lors de la récupération (upload) les mails prennent la date du transfert et de fait il n’existe plus d’historique sur le mail.
    Cordialement

      1. La date de réception du mail est conservée dans le fichier lui même (on la retrouve dans les en-têtes du mail), et avec le pattern %DATE dans le nom du fichier c’est bien la date du mail qui est utilisée, pas la date de son transfert. On le voit d’ailleurs bien dans la capture d’écran, des mails de 2004 transférés en 2013 ont bien un fichier dont le nom commence par 2004.

  4. Bonjour,

    Si je change de serveur dédié pour mon domaine et que les messages sont conservés en synchronisation sur mon disque dur, est- il théoriquement possible de restaurer tous les messages dans le nouveau serveur une fois la migration de serveur terminée ?

    1. Avec IMAPSize, oui, il est possible de restaurer les mails vers le serveur.

      Avec un client mail synchronisé sur le serveur, il y a un risque que lors de la connexion au nouveau serveur le client mail efface tout ce qui est en local, puisque ça n’existe plus sur le serveur… Avec Thunderbird, le plus sûr c’est de copier d’abord tous les mails dans « Dossiers locaux », puis une fois connecté au nouveau serveur, tout recopier vers le compte mail.

  5. Bonsoir , le seul probleme avec imapsize , c’est que c’est un outil qui a été mis à jour pour la derniere fois en 2009 et qui n’est plus maintenu , je suis donc a la recherche d’un equivalent , sachant que j’ai essayé d’installer mailstore , mais celui ci semble pas mal buggé et refuse de demarrer avec un message d’erreur au lancement (je suis sous windows 10 1709), si quelqu’un a d’autres idées de nom d’outil efficace dans le meme genre , je suis preneur 🙂

  6. J’utilise personnellement Mailifik (www.mailifik.com) qui fait très bien les sauvegardes (zip) sur tous mes comptes (Gmail / Yahoo / Hotmail / Exchange pour le pro)

  7. attention cet article est totalement faux un compte imap se synchronise dans les deux sens, si un mail est effacé sur le serveur il le sera aussi dans thunderbird!!!
    le seul moyen dans ce cas est de créer des dossiers locaux avec une règle de filtrage qui déplace (ou copie) tous les messages. les dossiers locaux comme leur nom l’indique sont totalement indépendant du serveur.

    1. Avant de dire que l’article est totalement faux, il serait bon de le lire correctement. Ce défaut de la synchronisation IMAP dans le cadre d’une sauvegarde avec Thunderbird est bel et bien mentionné dans l’article : « Mais comme il s’agit d’une synchronisation, il y a un inconvénient : un mail supprimé sur le serveur sera supprimé de la sauvegarde lors de la synchronisation suivante. »

      Mais si on a une sauvegarde du contenu de son ordinateur (ce qui devrait toujours être le cas !), ce défaut est partiellement mitigé, puisqu’on pourra retrouver d’anciens mails dans ces sauvegardes.

      Par ailleurs, la solution basée sur IMAPSize, ce n’est justement pas de la synchronisation : IMAPSize récupère les nouveaux mails sur le serveur, sans jamais supprimer ceux qui ne sont plus présents sur le serveur.

  8. Bonjour, je n’arrive pas à régler mon problème : je voudrais restaurer mes mails effacés sur le serveur IMAP, à partir d’une sauvegarde Timemachine (Mac) que j’ai eu la bonne idée de faire juste avant d’effacer tous mes mails sans vouloir du serveur. Comment faire ? Une idée ?
    Merci !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.