Добрый день!
Пытаюсь решить проблему с раздельным складированием спама, каждому пользователю.
В качестве деливера используется cyrus-imapd, и мне необходимо сформировать конечный адрес в exim примерно: test+spam@mydomain.com , ну и скормить это cyrus...
Но проблема не в этом, почему то когда я использую внешние файлы .forward для фильтрации заголовков "X-Spam" приведеным ниже конфигом:userfilter:
driver = redirect
allow_filter
user = mail
skip_syntax_errors
file = /var/spool/cyrus/mail/$domain/$local_part/.forward
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
no_verify
И содержимым .forward:
# Exim filter
if $header_subject contains test then
deliver $local_part+spam@$domain
endif
В этом случае обработка проходит на ура! Но меня интерисует одно, статическое правило (!) , то есть единое для каждого mailbox-а , и когда я создаю конфиг такого вида:
userspam:
driver = redirect
allow_filter
user = mail
skip_syntax_errors
data = #Exim filter\n\
if $header_subject contains test\n\
then\n\
deliver $local_part+spam@$domain\n\
endif
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
no_verify
То в логах получаю мусор вида (test+spam+spam+spam+spam+...):
2008-06-03 18:18:58 Delay 0s for localhost [127.0.0.1] with HELO=mydomain. Mail from 12345@fakedomain.com to test@mydomain.com.
2008-06-03 18:18:58 1K3XLm-0004zP-3O <= 12345@domain.com H=localhost.nkb (vmware-st125) [127.0.0.1] I=[127.0.0.1]:25 P=esmtp S=909 id=356188.575129153-sendEmail@vmware-st125 from <12345@fakedomain.com> for test@mydomain.com
2008-06-03 18:18:58 1K3XLm-0004zP-3O userspam router: skipped error: malformed address "test+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam@mydomain.com" in filter file: address is ridiculously long: test+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam+spam...
2008-06-03 18:18:58 1K3XLm-0004zP-3O **** log string overflowed log buffer ****
2008-06-03 18:18:58 1K3XLm-0004zP-3O internal error: store_reset(135693280) failed: pool=0 deliver.c 1078
Как с этим бороться? почему статически прописанное правило создает такой мусор?