Maildrop: Filtro Correo por fecha: encabezado
-
27-10-2019 - |
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.
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.