URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96570
[ Назад ]

Исходное сообщение
"Exim и правила обработки последовательности"

Отправлено InventoR , 03-Июн-16 12:40 
в секции acl_check_data  добавил правило:


        warn    condition = ${if match {$rh_subject:}{windows-1251}{yes}{no}}
               condition = {${lookup mysql{SET NAMES windows-1251}{}}${lookup mysql{INSERT INTO `mail_header2` (`message_id`, `header`, `header2`) VALUES ( \
                       '${quote_mysql:$message_id}',\
                       '${escape:$h_subject:}',\
                       '${escape:$rh_subject:}'\
               )}} }
                logwrite = "HEAD3: $rh_subject: ||| ${rfc2047:$h_subject:} ||| $header_X-PHP-Script: |||  $header_X-PHP-Originating-Script:"

Но вот не пойму, почему-то не срабатывает добавление в БД, если убрать второй condition то в консоль сыпятся множественные HEAD3.
Может кто подскажет как правильно написать этот блок?


Содержание

Сообщения в этом обсуждении
"Exim и правила обработки последовательности"
Отправлено BV , 03-Июн-16 13:33 
Естественно
condition = {${lookup mysql{ INSERT INTO
не может быть condition так как он НЕ возвращает состояние
match  я бы тод же подправил
Вот так должно работать

warn    condition = ${if match {$rh_subject:}{\N(?i)windows\-1251\N}}
        set acl_m_insert = {${lookup mysql{SET NAMES windows-1251}{}}${lookup mysql{INSERT INTO `mail_header2` (`message_id`, `header`, `header2`) VALUES ( \
                       '${quote_mysql:$message_id}',\
                       '${escape:$h_subject:}',\
                       '${escape:$rh_subject:}'\
               )}} }
                logwrite = "HEAD3: $rh_subject: ||| ${rfc2047:$h_subject:} ||| $header_X-PHP-Script: |||  $header_X-PHP-Originating-Script:"


>[оверквотинг удален]
> '${escape:$rh_subject:}'\
>            
>    )}} }
>            
>     logwrite = "HEAD3: $rh_subject: ||| ${rfc2047:$h_subject:} |||
> $header_X-PHP-Script: |||  $header_X-PHP-Originating-Script:"
>

> Но вот не пойму, почему-то не срабатывает добавление в БД, если убрать
> второй condition то в консоль сыпятся множественные HEAD3.
> Может кто подскажет как правильно написать этот блок?


"Exim и правила обработки последовательности"
Отправлено InventoRs , 03-Июн-16 23:56 
Да. спасибо, тут разобрался, но вот тут не понятно:

'${quote_mysql:${base64d:$rh_subject:}}'


В логе:


temporarily rejected after DATA: failed to expand ACL string "{${lookup mysql{SET NAMES cp1251}{}}${lookup mysql{INSERT INTO `mail_header2` (`message_id`, `header`, `header2`) VALUES ( '${quote_mysql:$message_id}','${escape:$h_subject:}','${quote_mysql:${base64d:$rh_subject:}}')}} }": string " =?windows-1251?b?wOry6


"Exim и правила обработки последовательности"
Отправлено xm , 04-Июн-16 23:55 
> В логе:
> temporarily rejected after DATA: failed to expand ACL string

Ошибка в синтаксисе выражения. Проверяйте внимательно, особенно скобки.