Я хотел бы организовать всю входящую электронную почту в следующую структуру каталогов в зависимости от даты электронного письма:
ROOT --+-- YYYYMMDD --+-- HH --+-- mm --+-- YYYYMMDD-HHmmSS-000001
| | | |
| | | | ....
| | | |
| | | +-- YYYYMMDD-HHmmSS-NNNNNN
| | +-- mm --
| +-- HH --+-- mm --
Обратите внимание, что каждое электронное письмо будет сохранено в виде отдельного файла, и имя файла будет YYYYMMDD-HHmmss-NNNNN, где NNNNN - порядковый номер.
Может это сделать procmail или maildrop? Если нет, то какие еще есть варианты?
Заранее спасибо.
Вы также можете заставить procmail запускать команду после получения электронного письма, а не через задание cron.
Вы можете приблизиться, если сначала настроите задание cron:
* * * * * mkdir -p $ROOT/`date -d "now+1min" +%Y%m%d/%H/%M/`
а затем используйте файл .forward, например:
|cat >>$ROOT/`date +%Y%m%d/%H/%M/%Y%m%d-%H%M%S`
В итоге вы будете получать сообщения в посекундных файлах формата mbox. Если вы получаете несколько в секунду, вы можете пометить -%N
в формат даты в файле .forward, чтобы вставить наносекундную отметку в имя файла. Если вы получаете несколько писем за наносекунду ... Я не могу вам помочь :)