UCS: salvando correos de Google …

Imagen miniatura para Cofre… redescubro un programa que hacía tiempo había dejado de funcionar: got your back de Jay Lee.

Según el autor hacía un año que el programa no se actualizaba y, según yo, ya no era útil para mis propósitos. Podía salvar cuentas de correo individuales pero no había nada que hacer con pequeños dominios de empresa.

Está escrito en Python y realiza muy bien sus tareas:

  • recupera correos en formato Mailbox con extensión .eml
  • la copias son incrementales
  • admite el tipo de conexión con Google Apps (service accounts) y se puede emplear para hacer copia de todo un dominio sin utilizar las contraseñas de los usuarios
  • puede recuperar los correos completa o parcialmente en caso de pérdida o cambio de cuenta

Respecto a la integración con el sistema reconozco que le quedan un par de hervores. El principal es que insiste en tener determinados archivos de credenciales en el directorio de ejecución y, lógicamente, esto limita bastante la instalación global en un sistema; es necesario parchearlo un poco para que sea cómodo de emplear. Y hablo de parche en la instalación, no en el fuente, que aunque Python no es mi fuerte tampoco es algo fuera de mi alcance.

En mi caso he optado por situarlo en el directorio /usr/local/sbin/gyb y crear allí dos enlaces simbólicos a las credenciales situadas bajo /etc/empresa/ucs/. Dado que estos enlaces pueden crearse aunque no exista el destino puedo construir un paquete Debian que los instale en el directorio correspondiente o hacerlo a mano en cualquier momento. Posiblemente ésto último sea lo indicado porque la clave de conexión se debe crear vía el panel de control de Google Apps y sería una locura tener que consturir una nueva versión del paquete para proporcionar datos tan confidenciales.

Luego creo un script como el siguiente para hacer la llamada al programa:

#!/bin/bash
GYBHOME=${GYBHOME:?/usr/local/sbin/gyb}
cd $GYBHOME
python gyb.py $*

que ya puede ir perfectamente en el paquete.

Ahora es cuestión de integrarlo en UCS para que regularmente baje los correos y los sitúe en el directorio adecuado para la sincronización. La segunda parte consiste en crear páginas web estáticas de estos correos de forma que exista una vía de acceso más cómoda que lidiar directamente con los archivos mailbox.