Migración de correo con Imapsync
Anteriormente, he hablado acerca de cómo migrar buzones de correo a Office 365 utilizando las herramientas que esta plataforma nos otorgaba. Por supuesto, mencioné que existía más software que nos permitían realizar migraciones IMAP. En este artículo, centrándome en dicho punto, hablaré de imapsync una aplicación que permite migrar buzones a distintas plataformas (incluyendo Office365) de forma diferente a las metodologías ya habladas.
¿Que ventajas nos proporciona imapsync frente a otras herramientas ?
-
Es sencilla. Tan sólo es necesario ejecutar un único comando para poder realizar una migración de un buzón de una plataforma a otra.
-
Permite el acceso administrativo. Útil en los casos en los que se requiera que el administrador sea el que realice el movimiento de buzones y no conozca las contraseñas de los usuarios para poder acceder a sus cuentas.
-
Permite migrar grandes lotes de buzones.
-
Soporta múltiples plataformas de correo como Dovecot, Cyrus, Yahoo, Google Apps, Office 365 , etc.
-
Se puede instalar en diferentes sistemas operativos como en Mac OS X, Windows o Linux (con Perl previamente instalado).
¿Qué desventaja tiene?
-
Es una aplicación de pago, con lo que tendríamos un gasto extra frente a las herramientas de migración de Office 365 pese a que su precio no es tan caro como si lo comparamos con software similar.
Conocidas las capacidades y los defectos de la aplicación, podemos observar que la herramienta nos es muy útil cuando no deseamos que el usuario intervenga en la migración y debemos migrar una cantidad significativa de buzones a Office 365 , pese a que ello suponga un gasto extra. Tan sólo nos quedaría la duda de cómo realizaríamos la migración con imapsync .
Como ya se ha dicho, no es una operación compleja y requiere de un único comando para poder mover un buzón de una plataforma a otra. Advertir que los ejemplos que detallaré a continuación se han hecho desde una máquina con un sistema operativo basado en Unix, existiendo pequeñas diferencias para los usuarios que utilicen la herramienta en Windows. No se procederá a explicar todas y cada una de las opciones, por lo que se sugiere consultarlas dependiendo de cómo se desea realizar la migración de buzones.
Si se desea mover un buzón de una plataforma a otra basta con ejecutar el siguiente comando indicando la información de la plataforma de origen y destino del buzón (el host IMAP y la información de logado de la cuenta correspondientes) :
1 2 3 |
./imapsync --host1 servidor.imap.origen --user1 usuarioOrigen --password1 secret1 --host2 servidor.imap.destino --user2 usuarioDestino --password2 secret2 |
Si no se conoce la información de los usuarios, siempre podemos utilizar el acceso administrativo, permitiéndonos realizar el movimiento sin necesidad de conocer la contraseña del usuario propietario (previamente, deberemos haber otorgado permisos de acceso al administrador a los buzones que queramos migrar, tanto en origen como destino) :
1 2 3 |
./imapsync --host1 servidor.imap.origen --user1 usuarioOrigen --authuser1 administradorOrigen --password1 passAdministradorOrigen --host2 servidor.imap.destino --user2 usuarioDestino --authuser2 administradorDestino --password2 passAdministradorDestino |
A diferencia, del fragmento de código anterior, se aprecia que en vez de indicar la contraseña de los usuarios, se indica el identificador de login del administrador y su correspondiente contraseña.
Vistas las dos formas básicas de mover un buzón, es fácil intuir cómo resultaría la migración de múltiples lotes. De hecho el propio creador, sugiere realizarlo mediante un sencillo script que a partir de un fichero de texto ir leyendo los datos necesarios e ir ejecutando el comando por cada buzón a mover :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
El formato del fichero file.txt podria ser : user001_1;password001_1;user001_2;password001_2 user002_1;password002_1;user002_2;password002_2 user003_1;password003_1;user003_2;password003_2 user004_1;password004_1;user004_2;password004_2 user005_1;password005_1;user005_2;password005_2 Desde Unix, el script podria ser : { while IFS=';' read u1 p1 u2 p2; do imapsync --host1 imap.side1.org --user1 "$u1" --password1 "$p1" --host2 imap.side2.org --user2 "$u2" --password2 "$p2" ... done ; } < file.txt Mientras que desde Windows el batch podria ser : FOR /F "tokens=1,2,3,4 delims=; eol=#" %%G IN (file.txt) DO imapsync ^ --host1 imap.side1.org --user1 %%G --password1 %%H ^ --host2 imap.side2.org --user2 %%I --password2 %%J ... |
Una vez hemos comprobado la sencillez del proceso, es inevitable hacernos preguntarnos qué hubiese pasado, si en vez de utilizar el servicio de cuentas conectadas de Office 365 hubiéramos utilizado imapsync.
Como recordaréis, cuando se escribió el artículo, Google Apps no permitía el acceso administrativo, con lo que no hubiese sido factible el emplear dicha herramienta. Sin embargo, actualmente y gracias al uso de XOAUTH para acceder a las cuentas de los usuarios de dicha plataforma, la aplicación puede mover el buzón a Office 365 sin problema alguno. Previamente configurado dicho mecanismo, ejecutaríamos imapsync con las siguientes opciones :
1 2 3 4 5 6 7 8 9 |
./imapsync --host1 imap.gmail.com --ssl1 --user1 usuario@dominiogoogleaps.com --password1 secret1 --authmech1 XOAUTH --host2 outlook.office365.com --ssl2 --user2 usuario@dominiooffice365.com --authuser2 administrador@dominiooffice365.com --password2 secret2 |
Analizando el código, se puede ver cómo para la información de la cuenta de Google Apps, se indica que, mediante la opción authmech1, se va a utilizar XOAUTH como método de autenticación. Además, mediante las opciones ssl1 y ssl2 se indica que se emplearán una conexión ssl para conectarse a los host y mover el correo de forma segura.
En conclusión, con imapsync se tardaría menos tiempo en ejecutar el proceso de migración, pero requeriría una preparación previa por parte del administrador para que esta migración sea efectiva. Queda en manos de los lectores, elegir el mejor mecanismo que mejor se adapta a sus propósitos a la hora de mover los buzones desde cualquier plataforma de correo a Office 365.