Actualización 18/03/2013: publicada la versión 1.2: añadido soporte para el uso de saltos de línea CRLF al comunicar con el servidor (por ejemplo para hotmail).
No pasa a menudo, pero a veces mi ordenador se cuelga. Es una pena, pero así es la vida de un usuario de ordenador. La mayoría de los programas y sus datos quedan bien después, pero Thunderbird no es uno de ellos. A veces, después del cierre inesperado, el archivo popstate.dat queda dañado, vacío o falta por completo. Ver también Thunderbird bug #263142
Esto provoca que Thunderbird vuelva a descargar todos los correos que estaban almacenados en el servidor. Tras otro de estos incidentes, decidí buscar una solución alternativa. Por suerte el formato del archivo popstate.dat es bastante sencillo. Recuperar la lista UIDL de los correos almacenados en el servidor es la clave de la solución.
Para hacerlo fácil, he escrito un script PHP simple que reconstruye el archivo popstate.dat de Thunderbird basándose en los correos almacenados en el servidor. El uso es bastante directo.
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
Puedes encontrar el script en GitHub: rebuild_thunderbird_popstate
Espero que ayude, y si es así sería estupendo que compartieras tu experiencia aquí, ¡gracias!