Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » [решено] exim и формат condition в разделе router

Ответить
Настройки темы
[решено] exim и формат condition в разделе router

Аватара для skeletor

Старожил


Сообщения: 257
Благодарности: 9

Профиль | Отправить PM | Цитировать


Собственно сам 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 (типа совпадение по подстроке). Как это правильно сделать? Да и вообще какие операции, кроме равно можно использовать в это куске?

-------
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands кривой и я всё делаю через /dev/ass. А у меня этих файлов вообще нет!"


Отправлено: 12:02, 29-09-2010

 

Аватара для skeletor

Старожил


Сообщения: 257
Благодарности: 9

Профиль | Отправить PM | Цитировать


Заработало вот так:
Код: Выделить весь код
'${quote_mysql:$h_x-mailer:}' like concat('%',blocklists.blockval,'%')
Ну и ещё один вариант
Код: Выделить весь код
blocklists.blockval RLIKE REPLACE('${quote_mysql:$h_x-mailer:}'," ","|")
Правда первый мне кажется будет выполняться быстрее, так как во втором регулярные выражения и ещё оператор replace. Второй вариант пригоден только для сравнения строк с пробелами.

-------
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands кривой и я всё делаю через /dev/ass. А у меня этих файлов вообще нет!"


Последний раз редактировалось skeletor, 29-09-2010 в 13:59.


Отправлено: 13:42, 29-09-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » [решено] exim и формат condition в разделе router

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Lost Planet Extreme Condition Colonies Edition Zamarman Игры 0 12-12-2009 16:46
FreeBSD - exim + popa3d Kulak Общий по FreeBSD 0 16-10-2008 16:25
Lost Planet Extreme Condition BenderFromNorth Игры 10 28-10-2007 00:05
Exim sys_admin Программное обеспечение Linux и FreeBSD 0 30-07-2007 22:18
Перевод MPEG4 формат в формат DVD Goshar Видео и аудио: обработка и кодирование 1 21-10-2006 13:56




 
Переход