У меня есть настроенная почтовая система postfix + courier. Мне очень хочется раскаладывать письма по разным папкам на сервере, чтобы во всех клиентах (thunderbird, squirellmail) все было одинаково.Прочитал в интернете, что для таких вещей подходит procmail. Скачал-поставил.
В main.cf дописал mailbox_command = /usr/bin/procmail -a "$EXTENSION" DEFAULT=$HOME/Maildir/ MAILDIR=$HOME/Maildir/
.procmailrc следующий:
*****************
LOGFILE=/tmp/procmail_log
:0:
* ^Subject: test
.test
*****************
т.е. все что имеет тест в заголовке долно попадать в папку test.
Пишу тестовое сообщение. В procmail.log попадает:
*****
From aaaa@yandex.ru Fri Oct 24 11:57:32 2008
Subject: test
Folder: .test/msg.iAUVB 1270
****
т.е. правило отрабатывается и письмо перемещается. Но через почтовую программу я не вижу этих писем! У меня есть такое подозрение, что procmail сохраняет письма в формате msg, а не в формате imap базы courier-а. Вот содержимое каталога .test:
$ tree Maildir/.test/
Maildir/.test/
|-- courierimapacl
|-- courierimapkeywords
|-- courierimapuiddb
|-- cur
| `-- 1224835239.M91766P26500V0000000000000801I01554023_0.new,S=2249:2,
|-- maildirfolder
|-- msg.WAUVB
|-- msg.YAUVB
|-- msg.ZAUVB
|-- msg.bAUVB
|-- msg.cAUVB
|-- msg.eAUVB
|-- msg.gAUVB
|-- msg.hAUVB
|-- msg.iAUVB
|-- msg.new
|-- new
`-- tmp
все файлы msg.* -это то что procmail положил туда (они не виды через почтовые клиенты), а вот в cur находятся настоящие сообщения.
Если я пропишу в .procmailrc .test/cur в качестве пути для папки, то сообщение сохранится в cur и будет видно через почтовую систему:
Maildir/.test/
|-- courierimapacl
|-- courierimapkeywords
|-- courierimapuiddb
|-- cur
| |-- 1224835239.M91766P26500V0000000000000801I01554023_0.new,S=2249:2,
| `-- msg.kAUVB:2,S
|-- maildirfolder
|-- msg.WAUVB
|-- msg.YAUVB
|-- msg.ZAUVB
|-- msg.bAUVB
|-- msg.cAUVB
|-- msg.eAUVB
|-- msg.gAUVB
|-- msg.hAUVB
|-- msg.iAUVB
|-- msg.new
|-- new
`-- tmp
Вообщем, мой вопрос, что действительно нужно прописывать пути типа ./test/cur чтобы server side forwarding нормально работал или это как-то можно сделать проще и аккуретнее?