Организация электронной почты по дате с использованием procmail
Я хотел бы организовать всю входящую электронную почту в следующую структуру каталогов на основе даты электронной почты:
ROOT --+-- YYYYMMDD --+-- HH --+-- mm --+-- YYYYMMDD-HHmmSS-000001
| | | |
| | | | ....
| | | |
| | | +-- YYYYMMDD-HHmmSS-NNNNNN
| | +-- mm --
| +-- HH --+-- mm --
Обратите внимание, что каждое электронное письмо будет храниться в виде отдельного файла, а имя файла будет YYYYMMDD-HHmmss-NNNNN, где NNNNN - это порядковый номер.
Может procmail или maildrop сделать это? Если нет, какие еще есть варианты?
Заранее спасибо.
1 ответ
Это может быть достигнуто с помощью procmail. Вот пример .procmailrc:
MAIL=$HOME/ROOT
VERBOSE=on
LOGFILE=$MAIL/procmail.log
DATE=`date +%Y%m%d`
HOUR=`date +%H`
MIN=`date +%M`
SLICE=$DATE/$HOUR/$MIN
MAILDIR=$MAIL
DEFAULT=$MAILDIR/$SLICE/
# Creates the slice if necessary.
DUMMY=`test -d $MAILDIR/$SLICE || mkdir -m 700 -p $MAILDIR/$SLICE`
Тонкость: косая черта после $DEFAULT
указывает формат Maildir. Если вы предпочитаете mbox, удалите его.