Récuper le fichier popstate.dat dans Thunderbird, Seamonkey, Mozilla...

Si jamais votre client mail a un probleme (par exemple, si vous le killez lorsqu'il est en train d'écrire ce fabuleux fichier), il se peut que, la prochaine fois que vous recuperez vos mails, tous les mails en provenance du serveur soient récupérés (alors qu'evidemment, vous les avez deja tous...). Si comme moi il y a environ 7200 mails sur ce serveur, il faut trouver une solution.

La clef se situe dans le fichier popstate.dat, qui indique quels sont les emails deja rencontrés au niveau du serveur et ce qu'ils leur a été fait... On peut trouver un bref descriptif de ce fichier ici.

En gros ce fichier contient une (petite) entete, puis ensuite une ligne par mail rencontré sur le serveur. Un extrait:

# POP3 State File
This is a generated file! Do not edit.

*pop3.free.fr XXXXXX
k 1166722131.9394.mrelay5-1 321711979
k 1165994479.4782.mrelay3-1 321665104
k 1175781097.31675.mrelay2-1 321711979
...

autant l'entete est plutot claire (le XXXXX representant votre login sur le serveur pop3), autant pas forcement le reste:

  • k indique que le corps complet de l'email a été recupéré (je vous renvoie la pour les autres valeurs).
  • 1166722131.9394.mrelay5-1 est le numero de l'email (plus dans un instant!).
  • 321711979 est l'ordre d'arrivée de l'email (exactement ce que vous avez dans la colonne du meme nom).

L'idée, si le popstate.dat est corrompu, est de le recreer à partir des emails deja présents... ce qui veut bien sur dire que les emails effacés sur votre disque dur mais pas sur votre serveur seront retelechargés... Il y a un moyen de s'en tirer, cf apres.

comment faire? Deja, on ferme le gestionnaire d'email!!!

Ensuite, il faut aller dans le dossier ou est la racine de votre compte email defectueux (chez moi c:\Documents and Settings\cohen\Application Data\Mozilla\Profiles\default\j1ht0s1r.slt\Mail\pop3.free.fr , il faut evidemment l'adapter pour chez vous). C'est là ou doit se trouver le nouveau popstate.dat ... Pour se faire, nous allons utiliser Cygwin, c'est un peu "haut niveau" mais si vous avez un peut de connaissance informatique, ca devrait suffir.

alors on commence sauver le fichier existant... au cas ou

mv popstate.dat popstate2.dat

Comment trouver le numero de l'email? En fait Mozilla/Seamonkey l'ajoute lorsqu'il le recoit dans l'entete de l'email, sous la forme d'un champ X-UIDL ... La solution est donc d'aller le chercher!!

grep -rI X-UIDL > popstate.dat

Ca doit mettre un certain temps... une fois que c'est fait, il va falloir modifier le fichier pour lui faire respecter la syntaxe!

On l'ouvre avec VI:

vim popstate.dat

La c'est un peu subtil, il ne faut surtout pas appuyer sur n'importe quelle touche, car VI est un editeur tres particulier... En cas de panique: la touche d'échappement (Escape) pour revenir en mode commande, et dans ce mode commande la touche u pour 'undo' (annuler la derniere modification...). En cas d'hyper doute, pour quitter sans rien faire, il faut etre en mode commande et taper:

:q! puis Entrée. Voila apres ces remarques preliminaires, on y va.

On a donc devant les yeux le fichier en question: on va maintenant le formater. en mode commande, on tape:

:%s/^.*X-UILD: \t*/k //g puis Entrée.

La normalement, on est content: ca ressemble à ce que ca doit ressembler. On sauve en quittant:

:x! puis Entrée.

Voila, on a fait le plus dur, apres il suffit d'ouvrir le fichier avec votre éditeur préférée et lui ajouter l'entete

*pop3.free.fr XXXXXX

Et l'ordre d'arrivée de l'email, me direz vous? Ben on en a pas besoin.. il est recalculé tout seul ^^

Maintenant que c'est fait, on reouvre le gestionnaire d'email. On desactive les filtres de tris automatiques du courrier. On deplace tous les emails de dossier 'Inbox' dans un autre dossier (vide); ca sera plus simple pour apres!

On télécharge ses emails, en croisant les doigts!

Si tout c'est bien passé, on ne doit télécharger qu'un petit nombre d'email (820 chez moi): ce sont les emails qu'on avait détruit et les nouveaux. Il va donc falloir regarder un peu attentivement (d'autant que le filtre anti spam est passé par la: plus que 300 emails...).

On supprime et on deplace ces mails au bon endroit. On remet les mails du dossier Inbox a leur place, puis on reactive les filtres de tri du courrier...

pfff voila on est revenu a une situation saine! Je laisse les commentaires ouverts, ou cas ou je peux aider...

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Add ping

URL de rétrolien : http://fcohen.fr/syberag/index.php?trackback/26

Haut de page