Copia HTML de un buzón gmail …

… con herramientas libres.

Como mencioné en esta otra entrada he estado intentando guardar una copia de los correos de un buzón en Google Apps que permita revisarlos con un simple navegador. Y lo he conseguido.

Para empezar he tenido que instalar la última versión de Got Your Back, un programa Python escribto para recuperar y almacenar correos en cuentas gmail. Al final consigue tener un árbol de directorios con los mensajes, organizados por años, meses y días, en formato eml.

GYB-GMail-Backup-admin@eine.es
├── 2012
│   ├── 10
│   │   ├── 10
│   │   │   ├── 13a4a8f76b6cd25c.eml
│   │   │   └── 13a4a904c5eabd40.eml
│   │   ├── 23
│   │   │   └── 13a8c6170c29fbe9.eml
│   │   └── 24
│   │   └── 13a9222a1cb29211.eml
│   ├── 11
│   │   ├── 10
│   │   │   └── 13ae874a4323b74c.eml
...

La parte pesada ha sido la de crear una autorización para que el programa pudiese acceder a todos los buzones de correos como administrador y sin requerir la contraseña de cada cuenta. Después de eso emplearlo es trivial ya que la operación predeterminada es salvar el buzón indicado:

$ python3 gyb.py --email admin@eine.es --service-account

Otra ventaja del programa es que se puede utilizar regularmente para obtener una lista de mensajes actualizada, no es necesario descargarlo todo de nuevo.

Una vez con los mensajes obtenemos la copia HTML de los mismos, con una página dedicada a los hilos y otra a las fechas, utilizando mhonarc.

$ find GYB-GMail-Backup-admin@eine.es/ -name "*.eml" | xargs -n 1 mhonarc -outdir ~/mail/admin/ -add
...

Bueno, no es que el resultado deslumbre por su aspecto, pero dado que mhonarc construye una base de datos sqlite con los mensajes, siempre podemos refinar más tarde el resultado con los recursos correspondientes.

En la web de Tech Republic hay un artículo que explica todo lo que se puede hacer, incluyendo el archivado automático de correo según se recibe.