Update 18.03.2013: Version 1.2 veröffentlicht: Unterstützung für CRLF-Zeilenenden bei der Kommunikation mit Servern hinzugefügt (z. B. für Hotmail).
Es kommt nicht oft vor, aber manchmal stürzt mein Computer ab. Schade, aber so ist das Leben eines Computernutzers. Die meisten Programme und ihre Daten sind danach in Ordnung — Thunderbird gehört allerdings nicht dazu. Manchmal ist nach dem Absturz die Datei popstate.dat beschädigt, leer oder fehlt komplett. Siehe auch Thunderbird-Bug #263142
Das führt dazu, dass Thunderbird alle E-Mails, die auf dem Server gespeichert sind, erneut herunterlädt. Nach einem weiteren solchen Vorfall habe ich beschlossen, einen Workaround zu suchen. Glücklicherweise ist das Format der popstate.dat-Datei recht überschaubar. Das Abrufen der UIDL-Liste der auf dem Server gespeicherten E-Mails ist der Schlüssel zur Lösung.
Um es einfach zu machen, habe ich ein einfaches PHP-Skript geschrieben, das die popstate.dat von Thunderbird basierend auf den auf dem Server gespeicherten E-Mails neu aufbaut. Die Verwendung ist ziemlich geradlinig.
usage: rebuild_popstate.php [-c] [-d] [-i n] [-s] [-v] [-f file] server [ port ]
-c CRLF flag, use when talking to Windows servers
-d debug flag
-f output filename
-i ignore the last n messages (for if you don't have them yet)
-s use for secure POP3 (SSL/TLS)
-v verbose flag
Sie finden das Skript auf GitHub: rebuild_thunderbird_popstate
Ich hoffe, es hilft, und wenn ja, würden wir uns freuen, wenn Sie hier Ihre Erfahrungen teilen — danke!