martes, 7 de abril de 2009

Como archivar correos de Mail.app con Mail Scripts

Independientemente del cliente de correo que usemos, llega un momento en el que nos planteamos la necesidad de archivar los miles de mensajes que hemos enviado y recibido durante varios años. Uno de los motivos es el miedo "a perder todo" si nuestro ordenador sufre algún tipo de accidente.

Entourage, por ejemplo,  empieza a dar problemas cuando su base de datos supera los 2GB, problema que hereda de su primo Outlook. Una de las causas es la decision de Microsoft de "meter todos los huevos en la misma cesta": mensajes, contactos, calendario, tareas, todo forma parte de una única base de datos, de un único archivo tan corruptible como un concejal de urbanismo (la solución que ofrecen es "archivar", es decir trocear esa base de datos, o sea usar más cestas).
Thunderbird es más prudente, y guarda los datos repartidos en infinidad de pequeños archivos.
Mail, incluido en Mac OS X hace algo parecido y es "bastante sufrido". He visto carpetas de Mail (.../Usuario/Libreria/Mail) de hasta 25GB, algo inimaginable en otros clientes de correo.

Si lo que nos preocupa es un súbito desastre que nos haga perder todo nuestra correspondencia, lo más fácil es hacer una copia de las carpetas en las que el cliente de correo guarda los datos, incluso con un simple "copiar y pegar". Pero todo esto es tema para otra entrada.

Pero en ocasiones puede ser muy interesante guardar nuestros mensajes "fuera de Mail", de forma que sean accesibles y legibles, tanto el mensaje como sus adjuntos, desde otro ordenador incluso, y leyéndolos de un disco externo, de un DVD u otro medio en el que lo hubiesemos archivado.

Desde luego, lo que resulta poco práctico es ir haciendo esto con los email uno a uno, mediante la opción de "Guardar como". Existen varias utilidades de pago para automatizar este trabajo. Tal vez la más eficaz sea MailSteward, aplicación que genera una base de datos capaz de almacenar cientos de miles de mensajes, y que permite localizar lo que busquemos de forma casi instantánea. Pero algunos usuarios tal vez no estarán dispuestos a pagar la licencia correspondiente (¿habéis calculado cuanto suman todas esas pequeñas utilidades que habeis instalado en vuestro ordenador?), y por otro lado creamos una dependencia de MailSteward para ver esos correos.
Las prestaciones de otras utilidades no justifican su precio en mi humilde opinión, teniendo en cuenta que Mailscripts hace eso -y muchas más cosas- y además gratis.

Mailscripts guarda todos los mensajes de la bandeja que le indiquemos como archivos independientes en formato RTFD. Estos archivos, que podemos abrir con TextEdit contendrán tanto el mensaje (con las cabeceras completas si así lo queremos) como sus adjuntos., renombrándolos de la forma que le indiquemos; por ejemplo: remitente-fecha-asunto. Con Spotlight podremos encontrar lo que busquemos entre los miles de documentos RTFD, ...y en cuestión de segundos.

¿No se os ha ocurrido nunca borrar la extension de un documento RTFD que contenga imágenes (o adjuntos si viene de un mensaje de correo)? Veréis que dicho documento se convierte "por arte de magia" en una carpeta, en cuyo interior encontraremos un documento de texto RTF ...y las imágenes sueltas). ¿Y qué ocurre si visualizamos desde un ordenador con Windows el documento .rtfd, aunque sea con extensión? Pues que lo vemos como la carpeta que en realidad es.

De esta forma conseguimos archivar correos que deseamos conservar pero que ocupan demasiado espacio en nuestro disco duro, pero los podemos grabar en un CD o en un servidor, y haciéndolos accesibles, clasificados por nombre-fecha-asunto, por cualquier ordenador, ya sea un Mac o un PC con Windows. Y además gratis.

MailScripts permite automatizar decenas de tareas en Mail.app y en la Libreta de Direcciones: Crear listas de correo, programar envíos, uso de diferentes servidores SMTP, eliminar mensajes duplicados, búsqueda avanzada de direcciones, etc.. pero como hemos visto, me centraré en el "archivado" de mensajes de correo.

USO DE MAIL SCRIPTS PARA ARCHIVAR MENSAJES:

Descargaremos la utilidad desde la página del desarrollador: El instalador ubicará el conjunto de scripts en una carpeta llamada "Mail Scripts", dentro de la carpeta "Aplicaciones", aunque podemos ponerla donde queramos.

Podemos correr los scripts haciendo clic directamente sobre ellos desde el Finder o desde el Menú de Scripts de la barra de menús. Si ésta no apareciera, iríamos a la Utilidad AppleScript (Aplicaciones/Applescript/Utilidad Applescript) para activar la opción.
Los nuevos scripts para Mail aparecerán al final del menú. No confundirlos con los Mail Scripts que vienen por defecto con el sistema:


Tras iniciar el script "Archive Messages" se nos mostrará la lista de los buzones. Elegiremos los que nos interesen marcando las casillas de verificación correspondientes. Si nos interesan todas, marcaremos la casilla "Select all".

A continuación se nos ofrecerán dos opciones: "Archive" o "Export". "Archive" se limita a mover los correos a un nuevo buzón renombrado con la fecha,


...así que elegiremos "Export", que es la opción que nos guarda los mensajes "fuera" de Mail.app:

"Selection Criteria" nos permite "filtrar" los mensajes por fechas, etiquetas, leídos o no, etc...


"Export Format" nos da a elegir entre formato MBOX (el formato standard de archivo de buzón de correo, que no nos interesa), "Text Files" o archivo de texto simple (que tampoco elegiremos) o el antes mencionado RTF (Rich Text Files) que si contiene adjuntos guardará como RTFD.
"Full Headers" hará que aparezcan las cabeceras completas de los mensajes. "Minimal Headers" hará que aparezca sólo lo esencial de éstas.
Con la casilla de verificación "Include Attachments" decidimos si incluimos los archivos adjuntos o no:


"Output Structure" permite exportar todo como un único archivo ("Export into Single File"; que parece poco práctico) o como "One File per Message", o sea, un archivo por mensaje.

El campo "File Name" es importante. Aquí definimos el criterio a seguir para nombrar cada archivo:
%f: es la cabecera "From", que define el nombre del remitente
%t: es la cabecera "To", o nombre del destinatario
%p:  determina Remitente o Destinatario (Remitente para mensajes recibidos, Destinatario para los enviados)
%s: es el Asunto (de Subject)
%d, %m, %M, %y, %Y representan la fecha.

La fecha aparece como día, mes y año:
Si escribimos: %m aparecerá el mes de forma numérica (05), pero si ponemos la "M" en mayúscula: %M veremos el nombre del mes (May)
Si usamos %y aparecerá el año con dos dígitos (08), pero en mayúscula: %Y veremos el año de cuatro dígitos (2008)

Se pueden variar las posiciones de los valores; de tal modo que aparezcan, por ejemplo, como Fecha-Remitente-Asunto o Remitente-Fecha-Asunto.
Así para que aparezcan los mensajes como:
 "Fulano-080712-EnvioFotos.rtfd" (Remitente-Fecha-Asunto),
pondremos: %f-%y%m%d-%s

Observad que he puesto la fecha en orden año-mes-dia, ya que así es más fácil listar los archivos.

En "Output Location" (Choose) elegimos dónde guardar la carpeta de mensajes archivados.

En "Archive Name" escribiremos el nombre que ha de tener la carpeta.

Cuando termine la "exportación" veremos los mensajes en la carpeta de destino listados de forma parecida a esta:



Si abrimos uno de los archivos RTFD veremos el mensaje con su cabecera completa (ya que así lo habíamos predeterminado, y el adjunto que contiene:


En un ordenador con Windows veríamos el RTFD como una carpeta, con el cuerpo del mensaje como un archivo de texto y los adjuntos como archivos "sueltos":

1 comentario:
  1. Excelente artículo y muy bien explicado. Por fin una manera fiable de guardar mis mensajes. Ahora lo único que me queda es enlazarlo de alguna manera con una base de datos de Filemaker para que sea perfecto.
    Gracias!

    ResponderEliminar