|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Igor Klingen 2:5020/400 02 Jul 2003 06:52:28 To : All Subject : Проблема с сортировкой писем в IMAP-ящике --------------------------------------------------------------------------------
Привет всем!
Столкнулся со следующей проблемой.
Имею: ASPLinux 7.3, fetchmail, procmail, qmail,
courier-imap 1.7.1, imapfilter 0.8.9.
fetchmail забирает почту из внешнего ПЯ и посредством procmail
разбрасывает ее (перенаправлением) по локальным ящикам. В том числе, и
по нескольким imap-ящикам. Далее, мне необходимо раскидать почту в
imap-ящиках из INBOX по вложенным папкам. Критерий сортировки - наличие
в полях заголовков 'from' и 'subject' определенных подстрок.
Тут нужно сказать, что при обработке почты procmail, он первым делом
вызывает скрипт, который перекодирует все поля заголовка записанные в
RFC-1522 в аналогичные, но с кодировкой UTF-8, QuotedPrintable. Сам
procmail использует этот факт в своих правилах.
Для сортировки почты внутри imap-ящика я пытаюсь использовать
imapfilter. И здесь возникают проблемы - он не желает перемещать
некоторые письма. Hапример в INBOX присутствует письмо с таким заголовком:
...
Subject: =?UTF-8?Q?19.06.2003|
=D0=9D=D0=BE=D0=B2=D0=BE=D1=81=D1=82=D0=B8 EMS | 1C:
=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F?=
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=_71d770d162e31d25e4eff1f0601d99cc"
From: webmaster@ems.ru
...
(в оригинале в поле subject никаких переносов строк нет)
В imapfilterrc присутствует правило:
...
filter sort-subscribe-ems-1c and
# From: ems.ru
# Subject: "Hовости EMS | 1C:"
mask from ems.ru
mask subject "=D0=9D=D0=BE=D0=B2=D0=BE=D1=81=D1=82=D0=B8 EMS | 1C:"
action move "&BB8EPgQ0BD8EOARBBDoEMA-/EMS 1C"
...
(Здесь "&BB8EPgQ0BD8EOARBBDoEMA-/EMS 1C" это подпапка INBOX, в оригинале
".&BB8EPgQ0BD8EOARBBDoEMA-.EMS 1C", что означает "Подписка/EMS 1C" в UTF-7)
Вот фрагменты протокола imapfilter:
...
debug: FILTER: 'sort-subscribe-ems-1c' AND
debug: MASK: 'FROM "ems.ru"'
debug: MASK: 'SUBJECT "=D0=9D=D0=BE=D0=B2=D0=BE=D1=81=D1=82=D0=B8 EMS |
1C:"'
debug: ACTION: 3 '' '&BB8EPgQ0BD8EOARBBDoEMA-/EMS 1C' 0 ''
...
Client request: SEARCH
debug: sending command: F00006 SEARCH ALL FROM "ems.ru" SUBJECT
"=D0=9D=D0=BE=D0=B2=D0=BE=D1=81=D1=82=D0=B8 EMS | 1C:"
* SEARCH
F00006 OK SEARCH done.
Server response: OK SEARCH done.
...
Видно, что imapfilter пытается применить правило, но courier-imap не
находит писем сопостовимых с этим правилом. Блин :(.
Может кто нибудь, что нибудь посоветовать или подсказать?
--
Заранее благодарен,
Игорь.
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: ООО Компания "ПРАЙС" (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/64889cd8a050.html, оценка из 5, голосов 10
|