Migración de correo electrónico mediante mnIMAPSync


¿Una herramienta más para sincronizar correo IMAP?

Hace un par de años, cuando liberamos por primera vez mnIMAPSync, ya había varias herramientas disponibles  para sincronizar el correo electrónico. El problema con la mayoría de ellas es que cuando se hacen copias de seguridad o migraciones incrementales del correo, algunos mensajes, en general aquellos que no está conforme a las especificaciones del RFC, se duplican en el servidor donde hacemos la copia. Esto se debe principalmente a headers incorrectos o a que el mensaje carece de message-id.

Al no disponer de ninguna herramienta, tuvimos que programar una que hiciese correctamente el trabajo. La principal diferencia entre mnIMAPSync y otras soluciones es que mnIMAPSync comprueba varios headers para cada mensaje y crea un índice de rápido acceso de manera que cuando el servidor de destino se rastree, los mensajes existentes no se vuelvan a copiar y queden duplicados.

Requisitos

Java

Esta herramienta está programada en Java, por lo que será necesario tener un JRE instalado. Si en tu sistema no tienes ninguno instalado, visita www.java.com/download y descarga la última versión.

Java Download Page

Sigue las instrucciones de la página para descargar e instalar el entorno de Ejecución Java.

mnIMAPSync

Lo siguiente es descargar mnIMAPSync. Puedes descargar la última versión, o el código fuente desde Github y compilar tu propio Jar. Para descargar una versión precompilada visita https://github.com/manusa/mnIMAPSync#releases y descarga la última.

mnIMAPSync Download

Una vez descargada la distribución en Zip, tienes que extraer el contenido del paquete a un directorio empleando tu herramienta preferida.

Ejecutando el programa

Este es un programa de línea de comandos, por  lo que será necesario una terminal o una ventana de cmd.

En windows puedes emplear cmd.exe (Inicio->Ejecutar->cmd.exe)

Para usar el programa, simplemente hay que especificar los argumentos requeridos. Puedes encontrar la lista de comandos disponibles en la página del proyecto.

En este tutorial vamos a migrar una cuenta de correo de GMail a una cuenta de correo en un servidor personal. Si el proceso se ejecuta de forma periódica, cada migración se ejecutará de forma incremental y el proceso únicamente copiará los mensajes y carpetas que no existan en el servidor de destino.

El comando anterior sincronizará una cuenta de origen en gmail a una cuenta de destino en el servidor my.server.com a modo de copia de seguridad.
host1, port1, user1, password1ssl1 son los parámetros que especifican la conexión al servidor de origen y las opciones de autenticación. En este caso nos conectamos al servidor IMAP de Gmail empleando SSL.
host2, port2, user2password2 son los parámetros que especifican la conexión al servidor de destino y las opciones de autenticación. En este caso nos estamos conectando a my.server.com usando una conexión regular no segura (no encriptada mediante SSL).
El parámetro threads indica el número de hilos o procesos en paralelo que empleará la aplicación. En este caso serán 3 hilos, así que el programa hará 3 conexiones independientes al servidor de origen y de destino y ejecutará las tareas en paralelo.
El parámetro delete es un parámetro opcional que indica si queremos borrar las carpetas y mensajes del servidor de destino que que ya no existen el servidor de origen.

mnIMAPSync Process

Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on PinterestEmail this to someone

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *