Como filtrar y eliminar mensajes de /var/spool/mail

Imagen de vanghuld

Forums: 

Hola, tengo un postfix con correo en formato mbox, el detalle que algunos usuarios no configuran su Outllok, entonces su mbox crece a tal punto de rebasar la cuota establecida y mi inquietud es si existe alguna forma de poder depurar los mensajes antiguos de determinado buzon filtrando por fecha o asunto y asi poder liberar un poco de espacio, es decir algo similar al comando postsuper -d ID-MSG que actua sobre la cola de mensajes, en este caso algun script que haga este trabajo similar del postsuper -d pero actuando sobre el mbox del usuario.

Se que todo mensaje tiene un ID y la idea es si se puede o existe algun script que lea los ID's de los mensajes y de acuerdo a la comparacion de cierto patron identifique esos correos y los elimine.

Algo como esto:
#/home/admin/limpiar_buzon ppalotes "guarras"
Es decir en este caso que borre todos los mensajes del buzon de ppalotes que tengan en su asunto la palabra guarras, asi si se pudiera filtrar por fecha, remitente. que tan viable es esta implementacion o ya existe alguna.

Esperando sus sugerencias y comentarios, me despido.

Gracias

Yo estoy probando con

Imagen de iknaxio

A mi me pasa lo mismo y peor aun porque son como 3000 cuentas. Yo estoy probando con archivemail que es un programita en Python.

Descárgalo, Descomprímelo, y procede a leer el README, lo instalas, haces un man archivemail y finalmente al ataque. Te recomiendo (yo lo estoy haciendo) te hagas un pequeño bash para que el proceso de archivar y/o eliminar los correos que cumplan un criterio específico sea más fácil. Yo he metido todas las cuentas en un archivo y las recorro con un for. Adicional quedarí bien una tarea cron que se ejecute por ejemplo cada fin de mes.

Saludos!!!


Vendo una antena isotrópica }:)

"Transporta un puñado de tierra todos los días y construirás una montaña" - Confucio
floss.iknaxio.net

Pilas

Imagen de iknaxio

Pilas alli va:

#!/bin/sh

FILE_IN="/root/procesos/archive.mail.txt"
FILE_USR=`cat $FILE_IN`

cd /var/spool/mail

for usr in $FILE_USR
do
echo "Archivando $usr ..."
archivemail -d 30 --delete $usr
done

En archive.mail.txt tengo algo como:

usuario1
usuario2
usuario3

Con esto elimino todos los mesajes que tengan mas de 30 dias de antigüedad }:)

"Transporta un puñado de tierra todos los días y construirás una montaña" - Confucio
floss.iknaxio.net