Eu não tenho uma resposta preenchendo tudo o que você quer, mas uma parte dela. Se for suficiente usar a data em que o e-mail chegar, em vez do cabeçalho da data do próprio e-mail e se uma pasta por data também for suficiente, você poderá fazer isso com maildrop:
DEFAULT="$HOME/Maildir"
MAIL = "$HOME/Maildir"
DAY = 'date +%d'
MONTH = 'date +%m'
YEAR = 'date +%y'
ARCHIVEFOLDER = $YEAR$MONTH$DATE
'test -d $MAIL/.$ARCHIVEFOLDER'
if ( $RETURNCODE != 0 )
{
'maildirmake -f $ARCHIVEFOLDER $MAIL'
}
# logfile "/tmp/maildrop"
# log $MAIL/.$SPAMORDNER
to $MAIL/.$ARCHIVEFOLDER
}
Espero que você possa desenvolver isso.