exim. про роутер redirect и переменную

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

exim. про роутер redirect и переменную

Непрочитанное сообщение cyrus_user » 2007-09-03 9:10:40

привет. вот что-то не могу понять в чём прикол:
в роутере acl_smtp_mime в самом конце:

Код: Выделить всё

warn
set acl_m20 = 10
log_message     = X-TotalTestSpam: $acl_m20
и на каждое сообщение успешно пишет в лог: Warning: X-TotalSpam: 10 - переменная заведена.
теперь я хочу в роутере перенаправлять в спам ящик. Вот это рабочая конструкция

Код: Выделить всё

spam_router:                                                                                                            
no_verify                                                                                                               
driver  = redirect                                                                                                      
data    = "${if or { {match {$h_X-SpamVL:}{(?i)Yes;}}\                                                                  
{match {$h_X-BogoS:}{(?i)Yes;|unknown;}}\
} {+public/spam} {$local_part@$domain}}"                            
добавляю сюда своё условие

Код: Выделить всё

data    = "${if or { {match {$h_X-SpamVL:}{(?i)Yes;}}\ 
{match {$h_X-BogoS:}{(?i)Yes;|unknown;}}\
{>{$acl_m20}{5}}\
#^^^^^^^^^^ вот это не работает почему-то
} {+public/spam} {$local_part@$domain}}" 
при заведомо точной цифре acl_m20 = 10 это условие всё равно не срабатывает

Где грабли то?

p.s. разбирать временный заголовок X-TotalTestSpam: не выход

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение Alex Keda » 2007-09-03 9:32:47

с отладкой отправь
Убей их всех! Бог потом рассортирует...

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение cyrus_user » 2007-09-03 10:38:50

lissyara писал(а):с отладкой отправь
тут я в полном недоумении..видимо мозгов не хватит..
почему первый раз роутер был пропущен понятно:

Код: Выделить всё

spam_router router skipped: verify 2 0 0
но почему он позже не вызывается - не понятно. как только убираем запись о acl_m20 - вызывается второй раз.

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение cyrus_user » 2007-09-03 10:56:12

надоела мне эта загадка и вникание в логи, плюнул на роутер, сделал через system_filter
тему можно закрыть

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение Alex Keda » 2007-09-03 10:59:03

логично, по одной строке выдернутой из логов, тебе никто ничего и не сказал бы :)
Убей их всех! Бог потом рассортирует...

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение cyrus_user » 2007-09-03 11:37:33

lissyara писал(а):логично, по одной строке выдернутой из логов, тебе никто ничего и не сказал бы :)
интересно какая ещё информация была нужна? :))
то что acl_m20

Код: Выделить всё

expanding: $acl_m20
result: 10
происходит позже чем

Код: Выделить всё

--------> spam_router router <--------
spam_router router skipped: verify 2 0 0
это и так ясно.
тут либо знаешь как его принудительно вызвать 2й раз либо не знаешь - логи и конфиги не при чём.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение Alex Keda » 2007-09-03 11:49:44

однако, дай полный дебаг для этого роутера...
я не гадалка, по кускам мозаику складывать.
Убей их всех! Бог потом рассортирует...

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение cyrus_user » 2007-09-03 11:57:21

lissyara писал(а):однако, дай полный дебаг для этого роутера...
я не гадалка, по кускам мозаику складывать.
я цитирую показания exim -bd -d+all
есть что-то детальнее?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение Alex Keda » 2007-09-03 12:04:53

Код: Выделить всё

13:00:36 24371 --------> user_aliases router <--------
13:00:36 24371 local_part=lissyara domain=lissyara.su
13:00:36 24371 calling user_aliases router
13:00:36 24371 rda_interpret (string): ${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/db/aliases_local}}
13:00:36 24371 expanding: $local_part@$domain
13:00:36 24371    result: lissyara@lissyara.su
13:00:36 24371 expanding: /usr/local/etc/exim/db/aliases_local
13:00:36 24371    result: /usr/local/etc/exim/db/aliases_local
13:00:36 24371 search_open: lsearch "/usr/local/etc/exim/db/aliases_local"
13:00:36 24371   cached open
13:00:36 24371 search_find: file="/usr/local/etc/exim/db/aliases_local"
13:00:36 24371   key="lissyara@lissyara.su" partial=-1 affix=NULL starflags=0
13:00:36 24371 LRU list:
13:00:36 24371   :/usr/local/etc/exim/db/aliases_local
13:00:36 24371   End
13:00:36 24371 internal_search_find: file="/usr/local/etc/exim/db/aliases_local"
13:00:36 24371   type=lsearch key="lissyara@lissyara.su"
13:00:36 24371 cached data used for lookup of lissyara@lissyara.su
13:00:36 24371   in /usr/local/etc/exim/db/aliases_local
13:00:36 24371 lookup failed
13:00:36 24371 expanding: ${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/db/aliases_local}}
13:00:36 24371    result:
13:00:36 24371 expanded:
13:00:36 24371 file is not a filter file
13:00:36 24371 parse_forward_list:
13:00:36 24371 user_aliases router declined for lissyara@lissyara.su
надо заметить - не самый большой и сложный роутер.
у некоторых отладка занимает страниц 5 текста - если сложные условия...
вот это я и прошу - от начала и до конца. Так сложно выложить?
И можно я сам буду решать чт мне надо для решения поблемы, а не уговривать и клещщами тащщить сведения...
если что-то секретное - в любом нормальном текстовом редакторе есть автозамена - тут тоже был не этот адрес - я его заменил...
Убей их всех! Бог потом рассортирует...

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение cyrus_user » 2007-09-03 12:20:40

я не тормоз, я выложил отладку в режиме exim -bd -d+all

Код: Выделить всё

18:12:50 27790 --------> spam_router router <--------                                                                   
18:12:50 27790 local_part=test domain=sanctus.loc                                                                       
18:12:50 27790 spam_router router skipped: verify 2 0 0
больше никаких сообщений в логе про этот роутер нету.
Последний раз редактировалось Alex Keda 2007-09-03 12:39:27, всего редактировалось 1 раз.
Причина: Товарищщи, цените чужое время и используйте конопочку code. Иначе вам могут вообще не ответить...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение Alex Keda » 2007-09-03 12:40:42

мдя... теперь я непонимаю почему он пропущен :)
Убей их всех! Бог потом рассортирует...

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение cyrus_user » 2007-09-04 6:03:05

lissyara писал(а):мдя... теперь я непонимаю почему он пропущен :)
в принципе, логика поведения redirect роутера примерно такая:
вызов, сверка параметров, если нет каких-то данных, пропуск.
следующий вызов если изменилcя путь доставки или изменилось что-либо в хедерах (влияние на изменения пути доставки).
поскольку назначение переменной acl_m20 не влияет на роутинг письма, то собственно роутер не вызывается больше.

Код: Выделить всё

no_verify                                                                                                              
driver = redirect                                                                                                      
data   = "${if >{$acl_m20}{9} {spam@$domain} {$local_part@$domain}}"                                                   
headers_add = X-ABC: testing acl_m20:|$acl_m20|

первый вызов роутера запишет заголовок в письме вот такого вида:

Код: Выделить всё

X-ABC: testing acl_m20:||
почему роутер не вызвался 2й раз? потому что изменений в роутинге не произошло. Если я сделаю:
в любом другом роутере сделаю перенаправление пересылки
сделаю в acl-ях |транспортах дополнительный заголовок,
то роутер будет вызван ещё раз, потому что всё что выше может повлиять на роутинг(доставку)
В принципе я нашёл несколько путей решения, но все они являются дополнительными условиями (костыли).
Вчера пробовал играть с forbid_xxx параметрами, кое-что дало прояснения, но проще оказалось через системный фильтр.
Есть правда мысль на перегруженность моего конфига (много доменов, разные роутинги), менять всю структуру конфига я пока не готов, Поэтому lissyara спасибо за помощь, давай закроем тему.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim. про роутер redirect и переменную

Непрочитанное сообщение Alex Keda » 2007-09-04 8:07:48

нет. в логе что ты привёл - вообще нет его обработки.
никаких проверок, ничего.
он просто пропущен... Вот это и непонятно...
Убей их всех! Бог потом рассортирует...