Я хотел бы организовать всю входящую электронную почту в следующую структуру каталогов на основе даты электронного письма:
ROOT --+-- YYYYMMDD --+-- HH --+-- mm --+-- YYYYMMDD-HHmmSS-000001
| | | |
| | | | ....
| | | |
| | | +-- YYYYMMDD-HHmmSS-NNNNNN
| | +-- mm --
| +-- HH --+-- mm --
Обратите внимание, что каждая электронная почта будет сохранена как отдельный файл, и название файла является YYYYMMDD-HHmmss-NNNNN, где NNNNN является рабочим числом.
procmail или maildrop могут сделать это? В противном случае, что другие опции там?
Заранее спасибо.
Это может быть достигнуто с помощью 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 вместо этого, удаляете его.