Re: [Exim-users] Странного хочу :) - if match
Golub Mikhail wrote: Добрый день. добрый Скажем, есть такое правило: check_helo: deny condition = ${if match {$sender_helo_name} {\N(test1.com|test2.com)\N} } message = Srabotalo :) log_message = Yes! $value Что я хотел получить? Я хотел увидеть в логе результат соответствия (match). Чтобы знать, по какой именно части сработало. Т.е. в helo задаю helo test1.com, и в логе хочу увидеть Yes! test1.com Только вот $value сюда не клеится. А что использовать? deny set acl_m_helo_test = \ ${if match{$sender_helo_name}{\N(test1.com|test2.com)\N}{$1}{}} condition = ${if eq{$acl_m_helo_test}{}{no}{yes}} message = Srabotalo log_message = Yes! $acl_m_helo_test p. s. делать deny до RCPT TO - зло -- Best wishes Victor Ustugov mailto:vic...@corvax.kiev.ua public GnuPG/PGP key:http://victor.corvax.kiev.ua/corvax.asc ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] Странного хочу :) - if match
Да, оно. Спасибо. С уважением, Голуб Михаил -Original Message- From: exim-users-boun...@mailground.net [mailto:exim-users- boun...@mailground.net] On Behalf Of l...@lena.kiev.ua Sent: Wednesday, March 14, 2012 5:09 PM To: Exim MTA на русском Subject: Re: [Exim-users] Странного хочу :) - if match check_helo: deny condition = ${if match {$sender_helo_name} {\N(test1.com|test2.com)\N} } message = Srabotalo :) log_message = Yes! $value Что я хотел получить? Я хотел увидеть в логе результат соответствия (match). Чтобы знать, по какой именно части сработало. Т.е. в helo задаю helo test1.com, и в логе хочу увидеть Yes! test1.com Важно, что есть круглые скобки. Если бы их не было, надо было бы их добавить. deny condition = ${if match {$sender_helo_name} {\N(test1.com|test2.com)\N} } message = Srabotalo :) log_message = Yes! ${if match{$sender_helo_name}{\N(test1.com|test2.com)\N}{$1}} Причем $1 работает только внутри ${if чтото} . Вот так не сработает: deny condition = ${if match {$sender_helo_name} {\N(test1.com|test2.com)\N} } log_message = Yes! $1 Можно так: deny set acl_m_found = ${if match {$sender_helo_name} {\N(test1.com|test2.com)\N} {$1} } condition = ${if def:acl_m_found} message = Srabotalo :) log_message = Yes! $acl_m_found ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] Странного хочу :) - if match
Alexandr wrote: On 14.03.2012 14:51, Golub Mikhail wrote: Добрый день. Скажем, есть такое правило: check_helo: deny condition = ${if match {$sender_helo_name} {\N(test1.com|test2.com)\N} } message = Srabotalo :) log_message = Yes! $value Что я хотел получить? Я хотел увидеть в логе результат соответствия (match). Чтобы знать, по какой именно части сработало. Т.е. в helo задаю helo test1.com, и в логе хочу увидеть Yes! test1.com Только вот $value сюда не клеится. А что использовать? Ну так у вас же уже есть $sender_helo_name ? Или я что-то неправильно понял? с регекспом может совпасть не вся строка, а ее часть. судя по всему, Михаил хочет видеть, какая именно часть строки совпала с регекспом. -- Best wishes Victor Ustugov mailto:vic...@corvax.kiev.ua public GnuPG/PGP key:http://victor.corvax.kiev.ua/corvax.asc ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] Странного хочу :) - if match
Это просто пример, взятый с тестового Exim, и сделанный только для проверки конкретного случая. В рабочей среде так не делается, конечно. С уважением, Голуб Михаил -Original Message- From: exim-users-boun...@mailground.net [mailto:exim-users- boun...@mailground.net] On Behalf Of Victor Ustugov Sent: Wednesday, March 14, 2012 5:16 PM To: Golub Mikhail Subject: Re: [Exim-users] Странного хочу :) - if match Golub Mikhail wrote: Добрый день. добрый Скажем, есть такое правило: check_helo: deny condition = ${if match {$sender_helo_name} {\N(test1.com|test2.com)\N} } message = Srabotalo :) log_message = Yes! $value Что я хотел получить? Я хотел увидеть в логе результат соответствия (match). Чтобы знать, по какой именно части сработало. Т.е. в helo задаю helo test1.com, и в логе хочу увидеть Yes! test1.com Только вот $value сюда не клеится. А что использовать? deny set acl_m_helo_test = \ ${if match{$sender_helo_name}{\N(test1.com|test2.com)\N}{$1}{}} condition = ${if eq{$acl_m_helo_test}{}{no}{yes}} message = Srabotalo log_message = Yes! $acl_m_helo_test p. s. делать deny до RCPT TO - зло -- Best wishes Victor Ustugov mailto:vic...@corvax.kiev.ua public GnuPG/PGP key:http://victor.corvax.kiev.ua/corvax.asc ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users