Страница 1 из 1

Как правильно написать условие

Добавлено: 2007-12-12 0:43:02
mitry13
Как правильно написать условие чтобы в роутере на проверку спама можно было посмотреть содержать ли адрес отправителя что-то из таблицы mySQL и если да то пропустить роутер. Никак не получается :twisted: Как подправить нижеприведенное чтобы оно заработало?

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

condition ="${if and {{!def:h_X-Spam-Flag:}{!eq{$received_protocol}{local}}{!def:h_X-FILTER-DSPAM:}{<= {$message_size}{512k}}}{yes}{no}} \
and ${lookup mysql{SELECT active FROM whitelist WHERE '${quote_mysql:$sender_address}' LIKE addr_part AND active=0}}{no}{yes}}"
Спасибо!

Re: Как правильно написать условие

Добавлено: 2007-12-12 16:58:56
Al
а что конкретно не работает? на что обижается??
попробуй для отладки разбить на два условия..

Re: Как правильно написать условие

Добавлено: 2007-12-12 22:12:41
Alex Keda
в роутерах нельзя два условия...
тока кусками отлаживать и объединять в одно

Re: Как правильно написать условие

Добавлено: 2007-12-13 11:44:03
Al
пропустил слово "роутер"....
ну а что ему не нравится????
попробуй exim -bh 127.0.0.1.333
там можно поподробнее посмотреть,только не помню насчет роутеров....... я так акли отлаживал

Re: Как правильно написать условие

Добавлено: 2007-12-16 22:33:20
mitry13
Да оно то неработало, то в паник лог сообщение кидало... lookup не возвращает логических условий... :( правильная версия получилась:

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

  condition = ${if and {\
                {!def:h_X-Spam-Flag:} \
                {!eq{$received_protocol}{local}} \
                {!def:h_X-FILTER-DSPAM:} \
                {<= {$message_size}{512k}} \
                {eq{} {${lookup mysql{SELECT active FROM \
                 whitelist WHERE '${quote_mysql:$sender_address}' \
                 LIKE addr_part AND active=0}}}}\
                 }\
                 {yes}{no}}
А вообще есть нормальный ФАК по написанию условий в exim? а то официальное руководство полного понимания мягко говоря не дает...

Re: Как правильно написать условие

Добавлено: 2007-12-17 0:59:40
Alex Keda
хм...
а что конкретно непонятно?