Guía de uso de imapsync, migrando correos entre proveedores

imapsync es una potente herramienta que permite sincronizar dos cuentas de correo vía IMAP, de forma que todo lo que está en la cuenta de correo A (tanto los emails almacenados como su propia organización en directorios así como estado de cada correo) se copia a la cuenta B, creando un espejo exacto de la cuenta A.

Aunque tiene muchos usos prácticos, el caso ejemplo más frecuente es el cambio de proveedor de correo, por ejemplo cuando un cliente quiere migrar de su proveedor actual a nuestros servicios de hosting, manteniendo todo tal cual está, incluido el no perder los correos almacenados en cada una de sus cuentas de correo.

Para esta tarea entra en juego imapsync, ya que nos permite conectar a cada cuenta de correo y trasladar toda la información sin perdida alguna.

Aunque la migración es realizada por nosotros de forma gratuita, puede haber casos donde se prefiera realizar sin nuestra intervención, o donde se tengan otros usos posibles para imapsync, por ejemplo trasladar correos de una cuenta para la cual se cesará su uso, por ese motivo tendrás dicha herramienta disponible desde tu plan de hosting, conectando vía SSH.

Siguiendo con el ejemplo inicial, si queremos sincronizar una cuenta de correo origen con una cuenta de correo destino, necesitaremos primero los datos de acceso a dichas cuentas, si la cuenta destino es una nueva, deberás crearla primero desde cPanel.

El siguiente comando hará la tarea de sincronizar las cuentas, para la cuenta origen se solicita el servidor IMAP, mientras que en destino solo indicamos localhost, esto se debe a que damos por hecho que estás usando imapsync en nuestro sistema y que la cuenta destino es igualmente la que está en el servidor, por ello se trataría de una conexión local y de ahí el usar localhost. Pero si fuese un servidor diferente, no habría más que sustituirlo por el correcto.

imapsync \
--host1 SERVIDOR_IMAP_ORIGEN --user1 CUENTA_ORIGEN --password1 PASSWORD_CUENTA_ORIGEN \
--host2 localhost --user2 CUENTA_DESTINO --password2 PASSWORD_CUENTA_DESTINO

Dependiendo del tamaño que ocupe la cuenta de correo y velocidad de conexión entre sistemas, la tarea puede tardar un más o menos, en cualquier caso irás viendo el progreso de la sincronización en tiempo real y también el tiempo estimado para completar la tarea así como el espacio necesario para almacenar los correos que se estén copiando.

Si queremos que se conecte a servidor origen o destino con SSL, ya sea por seguridad o requerimiento de la conexión, usaríamos la flag --ssl1 o --ssl2 respectivamente.

imapsync \
--host1 SERVIDOR_IMAP_ORIGEN --user1 CUENTA_ORIGEN --password1 PASSWORD_CUENTA_ORIGEN --ssl1 \
--host2 localhost --user2 CUENTA_DESTINO --password2 PASSWORD_CUENTA_DESTINO -ssl2

La documentación de imapsync es bastante extensa y se tratan todo tipo de usos prácticos, por ejemplo copiando desde cuentas Gmail, Exchange, Office365, y también dispone de un extensivo número de opciones como por ejemplo eliminar los correos de origen según vayan siendo copiados satisfactoriamente a destino (--delete1), excluir determinados directorios o eliminar duplicados.