Migrar Thunderbird de "mbox" a "IMAP" (II): Prueba de concepto

Tras valorar lo que describo en mi artículo Migrar Thunderbird de "mbox" a "IMAP" (I): Consideraciones decido montar una prueba de concepto. Algo de este estilo:

  1. Instalo Dovecot en mi portátil y lo configuro para usar mdbox como tecnología de almacenamiento de correo.
  2. Creo una nueva cuenta en Thunderbird y la configuro para usar IMAP4 en la máquina local (la IP 127.0.0.1).
  3. Elijo algunas carpetas de correo de mi Thunderbird, con alta actividad, y las recreo (manteniendo la estructura del árbol) en la nueva cuenta IMAP4.
  4. Muevo los mensajes contenidos en esas carpetas de correo al IMAP4 y actualizo las reglas de filtrado automático de Thunderbird para que deposite los nuevos mensajes que vayan entrando para ellas en la nueva localización.

A partir de ahora opero con Thunderbird con normalidad. Sigo recibiendo el correo por POP3 y las reglas automáticas mueven los mensajes relevantes al IMAP4 interno. Hago numerosas pruebas etiquetando mensajes, copiándolos entre carpetas, rendimiento, búsquedas en los mensajes, mensajes con adjuntos, etc., y todo parece funcionar con normalidad. Funcionan incluso, para mi sorpresa, las Saved Searches cubriendo simultaneamente carpetas de correo tradicionales y carpetas IMAP4.

Hay algunos detalles, no obstante:

  1. Hasta ahora, cada mensaje que entraba a Thunderbird por POP3 se filtraba automáticamente y se almacenaba en la carpeta de correo correspondiente. Uno a uno, a medida que iban entrando.

    Ahora sigue ocurriendo lo mismo con los mensajes que se almacenan en las carpetas normales, pero los mensajes que deben almacenarse en el IMAP4 se dejan en el Inbox mientras está entrando correo POP3 y, una vez que se ha recibido el contenido pendiente entero del servidor POP3, se aplican las reglas IMAP4 a los mensajes nuevos, en bloque. Algunas consecuencias de ello son:

    1. Los mensajes que se van a guardar en IMAP4 pasan primero por el Inbox y se almacenan allí temporalmente. Aunque se borrarán en cuanto se apliquen las reglas de filtrado automático de Thunderbird, ocupan sitio en el mbox y la necesidad de compactar la carpeta Inbox se vuelve más frecuente y acuciante. El efecto se explica en Migrar Thunderbird de "mbox" a "IMAP" (I): Consideraciones.

      A medida que vaya moviendo más y más carpetas de correo al servidor IMAP4 local, el efecto será más notable e inconveniente.

      No obstante este problema es coyuntural. Una vez que complete la migración a IMAP4 y desaparezca la alimentación de correo nuevo por POP3, problema resuelto.

    2. Ese almacenamiento temporal es perfectamente visible en Inbox. Es anecdótico durante el goteo continuo diario, pero cuando enciendo el ordenador por la mañana y me entran cientos o miles de mensaje de una vez, el efecto se nota mucho. Veo mensajes en Inbox que sé que se van a mover a otras carpetas dentro de unos minutos (cuando la conexión POP3 termine con éxito).

      Como en el caso anterior, a medida que vaya migrando más carpetas, el efecto será más molesto.

      También, como en el caso anterior, cuando el propio Inbox esté en IMAP4, el proceso será mucho más rápido que por POP3. Esto es así porque en POP3 cada mensaje se descarga por completo y la descarga es síncrona, mientras que por IMAP4 sólo necesitamos las cabeceras de los mensajes y se pueden solicitar todas en una única operación.

      Cuando migre a filtrado directo en el servidor IMAP4 mediante Sieve, problema resuelto. Y hay consecuencias más interesantes aún con Sieve, pero no estoy preparado todavía para comentarlos aquí.

  2. A veces, sin motivo aparente, los filtros automáticos con destino hacia el servidor IMAP4 dejan de funcionar. No sé la razón, parece un bug de Thunderbird. En estos casos a veces funciona aplicando los filtros manualmente. Pero otras veces es necesario parar y relanzar Thunderbird.

    Es algo que hay que investigar, pero parece un bug de Thunderbird.

    Cuando despliegue filtrado en el servidor IMAP4 con Sieve, problema solucionado.

  3. Una de las ventajas de almacenar el correo en un servidor IMAP4 local es el acceso concurrente a las carpetas de correo. Pero Thunderbird no implementa la extensión NOTIFY [1], así que no se entera de los cambios [2] hasta que se visita manualmente la carpeta de correo en cuestión. Esto es bastante inconveniente, sobre todo con los planes de automatización que tengo en mente.

    Si tenemos en cuenta mis planes de filtrado en el servidor mediante Sieve las perspectivas no son buenas. Me guardo algunos trucos en la manga. Sobreviviré :-).

En resumen, la prueba de concepto es esperanzadora. Muchos de los problemas percibidos se solucionarán solos cuando complete la migración y para la falta de soporte de NOTIFY [1] tengo aún algunas cartas que jugar.

[1] (1, 2) Hay un amigo currándose un parche para soportar NOTIFY en Thunderbird. Espero que cuaje. Veremos.
[2]

Por defecto, Thunderbird sólo monitoriza las carpetas de correo abiertas en el entorno gráfico, así como Inbox. Adicionalmente se puede configurar carpeta a carpeta para que sea monitorizada automáticamente, pero con mil carpetas de correo, el mantenimiento manual sería de risa y el rendimiento de Thunderbird problemático. Por no mencionar la carga en el Dovecot.

Por último, se puede configurar el Thunderbird para que monitorice todas las carpetas de correo, automáticamente, cambiando la configuración. Nuevamente, el impacto de rendimiento es apreciable.

La documentación de Thunderbird indica que puede recibir notificaciones de correo nuevo a través de la extensión IDLE, pero mis pruebas han sido infructuosas hasta el momento. De funcionar, sería la mejor opción. Seguiré insistiendo.

Actualización 20140913: Puedes leer la continuación de la historia en Migrar Thunderbird de "mbox" a "IMAP" (III): ¡Migración!.