Maildrop: mail Filtrer par tête Date:
-
27-10-2019 - |
Question
J'utilise getmail + maildrop + Mutt + msmtp chaîne avec des messages stockés dans Maildir. Très gros boîte de réception qui me dérange, donc je voulais trier le courrier par date comme:
Maildir
|-2010.11->all messages with "Date: *, * Nov 2010 *"
|-2010.12->same as above...
|-2011.01
`-2011.02
J'ai googlé beaucoup et lire sur le langage mailfilter, mais il est difficile pour moi d'écrire tel filtre. Les archives de la liste de diffusion de Maildrop n'a presque rien sur ce (pour autant que je scrutais à travers). Il y a une demi-solution sur https: //unix.stackexchange .com / questions / 3092 / organisation-email par jour utilisant-procmail-ou maildrop , mais je ne l'aime pas, parce que je veux utiliser "Date:" en-tête et je veux genre par mois comme « année.mois.jour » en chiffres. Toute aide, des pensées, des liens, sera apprécié des matériaux.
La solution
Utilisation de pages pour la plupart man
, je suis venu avec la solution suivante pour une utilisation sur Ubuntu 10.04. Créez un fichier mailfilter
appelé, par exemple, mailfilter-archive
avec le contenu suivant:
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
utilise la commande date
, en prenant le contenu d'en-tête de date
en entrée (en supposant qu'il est dans RFC 2822 le format ) et la production d'une date formatée à utiliser comme nom de fichier courrier.
Ensuite, exécutez les opérations suivantes sur les fichiers de messagerie existants pour archiver vos messages:
cat mail1 mail2 mail3 mail4 | reformail -s maildrop mailfilter-archive
Si le contenu de mail-archive
bien paraître, vous pouvez supprimer le mail1
, mail2
, mail3
, mail4
, etc. fichiers courrier.