Pregunta

Estoy usando GetMail + MailDrop + Mutt + MSMTP Chain con mensajes almacenados en MailDir. Muy grande bandeja de entrada me molesta, así que quería organizar el correo por fecha como esa:

Maildir
|-2010.11->all messages with "Date: *, * Nov 2010 *"
|-2010.12->same as above...
|-2011.01
`-2011.02

He buscado mucho en Google y leí sobre el lenguaje de MailFilter, pero aún así es difícil para mí escribir ese filtro. Los archivos de la lista de correo de Maildrop no tienen casi nada sobre esto (por lo que lo escaneé). Hay algo de semi-solución en https://unix.stackexchange.com/questions/3092/organize-email-by-date-using-procmail-or-maildrop, pero no me gusta, porque quiero usar "Fecha:" encabezado y quiero ordenar por mes como "año. Month" en dígitos. Se agradecerá cualquier ayuda, pensamientos, enlaces, materiales.

¿Fue útil?

Solución

Usando sobre todo man Páginas, se me ocurrieron la siguiente solución para usar en Ubuntu 10.04. Crear un mailfilter archivo llamado, por ejemplo, mailfilter-archive Con el siguiente contenido:

DEFAULT="$HOME/mail-archive"
MAILDIR="$DEFAULT"

# Uncomment the following to get logging output
#logfile $HOME/tmp/maildrop-archive.log

# Create maildir folder if it does not exist
`[ -d $DEFAULT ] || maildirmake $DEFAULT`

if (/^date:\s+(.+)$/)
{
    datefile=`date -d "$MATCH1" +%Y-%m`
    to $DEFAULT/$datefile
}

# In case the message is missing a date header, send it to a default mail file
to $DEFAULT/inbox

Esto usa el date comando, tomando el date Contenido de encabezado como entrada (suponiendo que esté en Formato RFC-2822) y producir una fecha formateada para usar como nombre del archivo de correo.

Luego ejecute lo siguiente en los archivos de correo existentes para archivar sus mensajes:

cat mail1 mail2 mail3 mail4 | reformail -s maildrop mailfilter-archive

Si el mail-archive El contenido se ve bien, podría eliminar el mail1, mail2, mail3, mail4, etc. Archivos de correo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top