Pour ma part, j'avais une ancienne boîte GMail avec plus de 10 ans de mail, que j'avais backupée via GMvault (en désactivant la compression gzip sur les fichiers .eml car ensuite j'ai fait un squashfs-lzma sur l'ensemble du dossier. L'archive fait quand même près de 15 Go). GMvault fait des sous-dossiers pour chaque année/mois/email, et chaque sous-dossier contient un fichier .eml + un fichier .meta (du json avec les métadonnées propres à GMail).
Récemment, j'ai voulu retrouver un vieux mail dans cette archive... et j'avoue que j'ai opté pour la solution compliquée (i.e. je n'ai pas vraiment regardé s'il y avait un moyen déjà tout fait pour convertir le machin en mbox ou maildir, et je me suis amusé à coder mon propre truc) : j'ai fait un petit programme en Python qui
scanne tout le dossier GMvault (== le mount du squashfs dans mon cas) et parse les .meta et les .eml
archive les mails (le texte en txt et en html, les headers qui m'importent, les éventuelles signatures) dans une base sqlite. Dans le cas des mails en html, je modifie le html pour inclure les images directement dedans en base64... A terme je compte profiter des fonctions de recherche fulltext de sqlite
extraie les fichiers en clair dans un dossier donné (en vérifiant leur md5sum au passage : si un même fichier est reçu dans plusieurs mails, je ne l'extraie qu'une fois. Si plusieurs fichiers ont le même nom, je rajoute un suffixe au nom de fichier). ça me permet de parcourir facilement directement dans le filesystem toutes les pièces jointes que j'ai pu recevoir à travers les âges. J'extraie aussi les "winmail.dat" (et bientôt les oledata.mso)
me fait une petite GUI en PySide
le tout pour l'instant en moins de 500 lignes de code :)
Voilà... en espérant que ça puisse servir à d'autres.
(Attention : première version, la peinture n'est pas sèche, le code est très imparfait, la DB n'est pas en 3ème forme normale, etc. Mais bon pour l'instant ça fait ce que je veux et ça m'a permis de retrouver le vieux mail que je recherchais :)
[^] # Re: Autre solution avec un client mail "lourd"
Posté par karteum59 (site web personnel) . En réponse à la dépêche Lighten Mailbox : archivez vos courriels. Évalué à 4. Dernière modification le 19 novembre 2020 à 00:48.
Pour ma part, j'avais une ancienne boîte GMail avec plus de 10 ans de mail, que j'avais backupée via GMvault (en désactivant la compression gzip sur les fichiers .eml car ensuite j'ai fait un squashfs-lzma sur l'ensemble du dossier. L'archive fait quand même près de 15 Go). GMvault fait des sous-dossiers pour chaque année/mois/email, et chaque sous-dossier contient un fichier .eml + un fichier .meta (du json avec les métadonnées propres à GMail).
Récemment, j'ai voulu retrouver un vieux mail dans cette archive... et j'avoue que j'ai opté pour la solution compliquée (i.e. je n'ai pas vraiment regardé s'il y avait un moyen déjà tout fait pour convertir le machin en mbox ou maildir, et je me suis amusé à coder mon propre truc) : j'ai fait un petit programme en Python qui
Voilà... en espérant que ça puisse servir à d'autres.
(Attention : première version, la peinture n'est pas sèche, le code est très imparfait, la DB n'est pas en 3ème forme normale, etc. Mais bon pour l'instant ça fait ce que je veux et ça m'a permis de retrouver le vieux mail que je recherchais :)