> 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

Ответить