Hello!
On Thu, 01 Nov 2018 at 17:47:18 (+0200), Mikhail Golub wrote:
> 01.11.2018 17:28, George L. Yermulnik пишет:
> >> warn set acl_m_test = ${if match{${run{/usr/local/bin/7z l
> >> $mime_decoded_filename}}} {\N(Multivolume = +)\N} {$1}}
> > 1. Убрать "\N" - их наличие тут, имхо, бессмысленно.
> Имеет смыл.
Какой?
> > 2. Заэкранировать сам слеш: \\+
> Проверил. Не помогло.
Мне помогает:
[--- cut ---]
$ exim -be
> warn set acl_m_test = ${if match{Multivolume = +} {(Multivolume = \\+)} {$1}}
warn set acl_m_test = Multivolume = +
> warn set acl_m_test = ${if match{Multivolume = -} {\N(Multivolume = [+-])\N}
> {$1}}
warn set acl_m_test = Multivolume = -
> warn set acl_m_test = ${if match{Multivolume = +} {\N(Multivolume = [+-])\N}
> {$1}}
warn set acl_m_test = Multivolume = +
> ^D
[--- cut ---]
> > 3. Круглые скобки, судя по приведённому примеру, тоже смысла не имеют.
> Тоже имеют смысл. Переменная раскрывается в $1.
Этого не заметил. Прошу прощения.
> Переделал немного.
> warn set acl_m_test = ${if match{${run{/usr/local/bin/7z l
> $mime_decoded_filename}}} {\NMultivolume = (\+|\-)\N} {$1}}
> Если архив не многотомный, то set acl_m_test получает значение "-".
> А вот если многотомный (Multivolume = +) - не срабатывает правило :(
--
George L. Yermulnik
[YZ-RIPE]
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users