Organizar e-mail por data usando o procmail

1

Eu gostaria de organizar todos os e-mails recebidos na seguinte estrutura de diretórios com base na data do e-mail:

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

Observe que cada email será armazenado como um arquivo separado e o nome do arquivo será YYYYMMDD-HHmmss-NNNNN, em que NNNNN é um número em execução.

O procmail ou o maildrop podem fazer isso? Se não, que outras opções existem?

Obrigado antecipadamente.

    
por kjloh 14.10.2010 / 06:12

1 resposta

1

Isso pode ser alcançado usando o procmail. Aqui está um exemplo .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'

Subtlety: a barra após $DEFAULT indica o formato do Maildir. Se preferir mbox, remova-o.

    
por 19.12.2010 / 18:37