The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"exim и формат condition в разделе router"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта)
Изначальное сообщение [ Отслеживать ]

"exim и формат condition в разделе router"  +/
Сообщение от skeletor email(ok) on 29-Сен-10, 12:02 
Собственно сам router:
ditch_hdrmailer:
  driver = redirect
  allow_fail
  data = :blackhole:
  condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains \
                        where blocklists.blockhdr = 'x-mailer' \
                        and blocklists.blockval = '${quote_mysql:$h_x-mailer:}' \
                        and users.localpart = '${quote_mysql:$local_part}' \
                        and domains.domain = '${quote_mysql:$domain}' \
                        and domains.domain_id=blocklists.domain_id \
                        and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
  local_part_suffix = -*
  local_part_suffix_optional
  retry_use_local_part

Хочу немного изменить условие
and blocklists.blockval = '${quote_mysql:$h_x-mailer:}'

вместо равно поставить что-то наподобие like из mysql (типа совпадение по подстроке). Как это правильно сделать? Да и вообще какие операции, кроме равно можно использовать в это куске?
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "exim и формат condition в разделе router"  +/
Сообщение от xz (??) on 29-Сен-10, 12:35 
>[оверквотинг удален]
>  and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
>   local_part_suffix = -*
>   local_part_suffix_optional
>   retry_use_local_part
>
> Хочу немного изменить условие
>
and blocklists.blockval = '${quote_mysql:$h_x-mailer:}'

> вместо равно поставить что-то наподобие like из mysql (типа совпадение по подстроке).
> Как это правильно сделать? Да и вообще какие операции, кроме равно
> можно использовать в это куске?

less spec.txt
роутер самый дебильный изо всех что я видел.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "exim и формат condition в разделе router"  +/
Сообщение от skeletor email(ok) on 29-Сен-10, 12:46 
Роутер стандартный. Такой идёт в сборке vexim.
Прочёл про match. Сделал вот так:
${match {'${quote_mysql:$h_x-mailer:}'}{blocklists.blockval} {1}{0}}

но он возвращает значение 0. Что не так? :(
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "exim и формат condition в разделе router"  +/
Сообщение от skeletor email(ok) on 29-Сен-10, 13:59 
Спасибо. Заработало вот так:
'${quote_mysql:$h_x-mailer:}' like concat('%',blocklists.blockval,'%')

Ну и ещё один вариант
blocklists.blockval RLIKE REPLACE('${quote_mysql:$h_x-mailer:}'," ","|")

Правда первый мне кажется будет выполняться быстрее, так как во втором регулярные выражения и ещё оператор replace. Второй вариант пригоден только для сравнения строк с пробелами.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру