Назад | Перейти на главную страницу

фильтр системы exim для любого адреса не работает

Я пытаюсь настроить системный фильтр exim, он должен быть пропущен для определенных получателей, но условие всегда не выполняется:

Фильтр выглядит так:

# Exim filter
if foranyaddress $h_to: ( $thisaddress contains "lists.example.loc" )
    then
        finish
    elif $h_X-SIGN-ADDED: is not contains "yes"
    then
        headers add "X-SIGN-ADDED: yes"
        seen pipe "/etc/mailsystem/sign/sign.py $sender_address $recipients"
endif

мой test.msg

Message-ID: <4FE823B6.9040905@exmaple.loc>
Date: Mon, 25 Jun 2012 12:39:18 +0400
From: Hikaru <test@lists.exmaple.loc>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0
MIME-Version: 1.0
To: <testuser@lists.exmaple.loc>
 Subject: 1
 Content-Type: text/plain; charset=UTF-8; format=flowed
 Content-Transfer-Encoding: 7bit

 1

И команда для запуска тестирования:

exim -bF exim.filter -f sender@example.loc -bfd lists.example.loc <test.msg

Почему он всегда запускает конвейер к сценарию? заранее спасибо

Мне кажется, я нашел, почему это не сработает: условие "foranyaddress" ожидает список адресов и не будет работать, если получатель только один. Итак, если заголовок «Кому:» разложить на несколько адресов, все заработает.