Организуйте электронную почту датой Используя procmail

Я хотел бы организовать всю входящую электронную почту в следующую структуру каталогов на основе даты электронного письма:

ROOT --+-- YYYYMMDD --+-- HH --+-- mm --+-- YYYYMMDD-HHmmSS-000001
       |              |        |        |
       |              |        |        |      ....
       |              |        |        |
       |              |        |        +-- YYYYMMDD-HHmmSS-NNNNNN
       |              |        +-- mm --
       |              +-- HH --+-- mm -- 

Обратите внимание, что каждая электронная почта будет сохранена как отдельный файл, и название файла является YYYYMMDD-HHmmss-NNNNN, где NNNNN является рабочим числом.

procmail или maildrop могут сделать это? В противном случае, что другие опции там?

Заранее спасибо.

1
задан 14.10.2010, 07:12

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 вместо этого, удаляете его.

2
ответ дан 12.12.2019, 13:07

Теги

Похожие вопросы