By | 29 mayo, 2012

Cuando se guardan los correos electrónicos en un servidor en formato Maildir, cada correo es guardado en un archivo; a diferencia del formato Mbox donde todos los correos están en un único archivo.

Muchas veces es necesario «limpiar» correos viejos, a veces en forma periódica (en el crontab) o a veces a pedido («borrar mensajes del año pasado») y ponerse a buscar en carpetas de Maildir y mantener la estructura es difícil. Ahi es donde la utilidad cleanup-maildir es útil.

Cleanup-maildir es un script escrito en Python que mediante parámetros permite, a partir de la antiguedad de los correos, borrar viejos mensajes, moverlos a la papelera o archivarlos en carpetas Maildir para que sigan siendo accedidos.

Ejemplos:

Guardar todos los mensajes con más de 150 días de antiguedad en la carpeta ‘Enviados’:

cleanup-maildir --age=150 archive 'Enviados'

este comando se utilizará $HOME/Maildir del usuario que ejecuta el cleanup-maildir.

Borrar mensajes en el Maildir actual con más de 60 días:

cleanup-maildir --age=60 delete ''

Archivar los correos de un usuario determinado que tengan más de 3 meses en carpetas anuales llamadas, por ejemplo, Guardado.2012:

cleanup-maildir --age=90 --archive-folder=Guardado --archive-hierarchy-depth=1 --maildir-root='/home/usuario/.Maildir' archive ''

en estos casos, se debe recordar que las carpetas nuevas creadas quedarán con dueño y permisos de quién corre cleanup-maildir, por lo que un chown suele ser necesario.

Referencia: Leer un artículo completo sobre cleanup-maildir.

4 Replies to “Procesar correos en Maildir: cleanup-maildir”

  1. Pingback: Bitacoras.com

  2. Gustavo

    Buena info, gracias.
    Tengo una duda con respecto a cuando en el cliente de correo configuramos que guarde una copia en el servidor x cantidad de dias. Quien admiunistra ese plazo y ejecuta la eliminación? El cliente de correo o el servidor?

  3. Rodolfo Pilas

    Gustavo, no es el tema de este artículo lo que tu preguntas, ni este sitio es un foro de preguntas y respuestas.

    No obstante, te puedo confirmar que esa funcionalidad no la implementa el servidor, por lo que es algo que gestiona el cliente.

  4. Rodolfo Pilas

    Otro comando que he usado ha sido:

    cleanup-maildir –age=90 –maildir-root=/home/usuario/Maildir delete ‘/’

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *