MailDrop: Filterpost nach Datum: Header
-
27-10-2019 - |
Frage
Ich verwende GetMail + MailDrop + Mutt + MSMTP -Kette mit Nachrichten, die in MailDir gespeichert sind. Sehr großer Posteingang stört mich, also wollte ich Mails nach Datum so organisieren:
Maildir
|-2010.11->all messages with "Date: *, * Nov 2010 *"
|-2010.12->same as above...
|-2011.01
`-2011.02
Ich habe viel gegoogelt und über Mailfilter -Sprache gelesen, aber es fällt mir trotzdem schwer, einen solchen Filter zu schreiben. Die Mailinglisten -Archive von MailDrop haben fast nichts damit (soweit ich es gescannt habe). Es gibt eine Semi-Lösung an https://unix.stackexchange.com/questions/3092/organize-email-by-date-using-procmail-or-maildrop, aber ich mag es nicht, weil ich "Datum": Header und ich möchte nach Monat wie "Jahr.month" in Ziffern sortieren. Jede Hilfe, Gedanken, Links und Materialien werden geschätzt.
Lösung
Meistens verwenden man
Seiten, ich habe die folgende Lösung für die Verwendung bei Ubuntu 10.04 entwickelt. Ein ... kreieren mailfilter
Datei aufgerufen, zum Beispiel, mailfilter-archive
mit dem folgenden Inhalt:
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
Dies verwendet die date
Befehl, nehmen die date
Headerinhalt als Eingabe (vorausgesetzt, er ist in RFC-2822-Format) und Erzeugung eines formatierten Datums für die Verwendung als Mail -Dateiname.
Führen Sie dann Folgendes auf vorhandene Mail -Dateien aus, um Ihre Nachrichten zu archivieren:
cat mail1 mail2 mail3 mail4 | reformail -s maildrop mailfilter-archive
Wenn die mail-archive
Inhalt sehen gut aus, Sie könnten die entfernen mail1
, mail2
, mail3
, mail4
, usw. Mail -Dateien.