Imapsync con OAUTH2 desde GoogleApps

En ZBox utilizamos  Imapsync para la migración de correos entre servidores.
Esta herramienta se utiliza en el proceso de habilitación un nuevo dominio en nuestra plataforma (Cuando se requiere migrar la información del servidor anterior).
Cabe destacar que esta herramienta solamente la utilizamos para migrar correos y el orden de directorios a las casillas nuevas creadas en ZBox, los filtros, contactos y citas no son migradas a través de Imapsync.

El proceso normal para realizar la migración es indicar en el comando de Imapsync la casilla con permisos de administración de ambos servidores (servidor anterior del cliente y nuestro servidor de ZBox) para poder realizar la migración de todas las casillas sin la necesidad de saber la contraseña de todas las casillas.

Cuando se necesita realizar este proceso desde un dominio con servicio de correo electrónico en Google Apps se tiene que realizar varios pasos antes de poder realizar la migración de esta manera.


Paso 1 : Generar una cuenta de servicio

  • Tener la credencial de acceso a la consola de Google Apps.
  • En la Consola de Google crear un nuevo proyecto.

  • Luego debes ir a la sección de credenciales y crear una nueva Clave de cuenta de servicio como se muestra en el ejemplo.
  • Cuando hayas creado la Cuenta de servicio aparecerá una ventana similar 
    Guarda esta información, es importante que puedas acceder a ella, será necesaria esta información al momento de ejecutar el Imapsync.
  • Ahora tendrás que dar los permisos a tu nueva clave privada para poder realizar cambios sobre el dominio.
  • Habilitación delegación de todo el dominio 
  • Con esto se habrá generado en el listado de credenciales un cliente para tu clave de servicio.
  • Luego tendrás que acceder desde la Consola de administración a la sección de  "Seguridad/Mostrar más/ Administrar el acceso de cliente API" y otorgar los permisos al ID cliente que se ha generado . Tal como aparece en la imagen de ejemplo deberás agregar el alcance que tendrá este cliente. 
    Nombre del cliente : ID del cliente que se ha generado 
    Uno o más ámbitos API : URL https://mail.google.com/ (Solo necesitaremos este para nuestro proceso de IMAPSYNC).

    Cuando hayas agregado los permisos deberías ver algo similar a la siguiente imagen de ejemplo:
  • Con esto ya podemos continuar al Paso 2.

Paso 2 : IMAPSYNC

Una vez finalizado el paso1 deberías tener un archivo llamado "Unknown" en tu carpeta de descargas (este archivo se descarga de forma automática cuando creas la Cuenta de servicio) y ademas la Cuenta de servicio que utilizaremos para poder ejecutar IMAPSYNC sin tener conocimiento de las contraseñas de las casillas del servidor Google.

  • Para probar que imapsync puede conectarse al servidor de Google a una casilla del dominio sin la necesidad de saber la contraseña y utilizando las credenciales generadas en el paso 1 utilizaremos el siguiente comando :

    imapsync --justlogin --host1 imap.gmail.com --ssl1 --authmech1 xoauth2 --user1 cuenta@dominiogoogle --password1 ' ejemplo@aerial-freehold-140619.iam.gserviceaccount.com;Unknown.p12' --host2 mail.zboxapp.com --user2 cuenta@dominiogoogle --authuser2 david@zboxapp.com --password2 ****

    Donde :
--justlogin parámetro para solamente probar el acceso.
--authmech1xoauth2 parámetro para indicar que se utilizara credenciales OAUTH2
--password1 ' ejemplo@aerial-freehold-140619.iam.gserviceaccount.com;Unknown.p12' El valor de este párametro se compone de '<Id del cliente de la cuenta de servicio>;<archivop12> '

Si el comando se ejecuta sin problemas ya podrás realizar la migración de los datos.

Aún necesitas ayuda? Solicitud de Soporte Solicitud de Soporte