Здравствуйте.
Хочу настроить system.filter так, чтобы в случае СПАМа или вируса менялась тема 
сообщения:

cat /etc/exim4/system.filter
# Exim filter

if error_message then finish endif

if "${if def:h_X-malware {def}{undef}}" is "def" then
        headers add "OldSubject: $h_Subject"
        headers remove "Subject"
        headers add "Subject: [Virus found: $h_X-malware:] $h_OldSubject"
        headers remove "OldSubject"
endif

if "${if def:h_X-SpamTest-Rate {def}{undef}}" is "def" and "$h_X-SpamTest-Rate" 
is above 50 then
        headers add "Old-Subject: $h_Subject"
        headers remove "Subject"
        headers add "Subject: [SPAM] $h_Old-Subject"
        headers remove "OldSubject1"
endif


Однако, в paniclog вижу сообщения типа такого:

2012-04-05 18:33:42 1SFeyE-0001C5-G3 Error in system filter: malformed 
numerical string "0\n45"

Пробую доставить это сообщение:
exim -d+all -M 1SFeyE-0001C5-G3

......
10:38:28 28733 running system filter
10:38:28 28733 rda_interpret (file): /etc/exim4/system.filter
10:38:28 28733 expanded: /etc/exim4/system.filter
10:38:28 28733 search_tidyup called
10:38:28 28734 changed uid/gid: system filter
10:38:28 28734   uid=107 gid=111 pid=28734
10:38:28 28734   auxiliary group list: <none>
10:38:28 28734 516 bytes read from /etc/exim4/system.filter
10:38:28 28734 data is an Exim filter program
10:38:28 28734 Filter: start of processing
10:38:28 28734 Condition is false: error_message
10:38:28 28734 condition: def:h_X-malware
10:38:28 28734    result: false
10:38:28 28734 expanding: def
10:38:28 28734    result: def
10:38:28 28734 skipping: result is not used
10:38:28 28734 expanding: undef
10:38:28 28734    result: undef
10:38:28 28734 expanding: ${if def:h_X-malware {def}{undef}}
10:38:28 28734    result: undef
10:38:28 28734 Condition is false: ${if def:h_X-malware {def}{undef}} is def
10:38:28 28734 condition: def:h_X-SpamTest-Rate
10:38:28 28734    result: true
10:38:28 28734 expanding: def
10:38:28 28734    result: def
10:38:28 28734 expanding: undef
10:38:28 28734    result: undef
10:38:28 28734 skipping: result is not used
10:38:28 28734 expanding: ${if def:h_X-SpamTest-Rate {def}{undef}}
10:38:28 28734    result: def
10:38:28 28734 Sub-condition is true: ${if def:h_X-SpamTest-Rate {def}{undef}} 
is def
10:38:28 28734 expanding: $h_X-SpamTest-Rate
10:38:28 28734    result: 0
10:38:28 28734 45
10:38:28 28734 Condition is false: ${if def:h_X-SpamTest-Rate {def}{undef}} is 
def and $h_X-SpamTest-Rate above 50
10:38:28 28734 Filter error: malformed numerical string "0
10:38:28 28734 45"
10:38:28 28734 Filter: end of processing
10:38:28 28734 search_tidyup called
10:38:28 28733 rda_interpret: subprocess yield=8 error=malformed numerical 
string "0
10:38:28 28733 45"
10:38:28 28733 system filter returned 8
10:38:28 28733 LOG: MAIN PANIC
10:38:28 28733   Error in system filter: malformed numerical string "0\n45"
10:38:28 28733 search_tidyup called
10:38:28 28733 >>>>>>>>>>>>>>>> Exim pid=28733 terminating with rc=0 
>>>>>>>>>>>>>>>>

Смотрю хидеры письма:
exim -Mvh 1SFeyE-0001C5-G3|cat -e|less

......
024  Content-Type: text/html$
044  Content-Transfer-Encoding: quoted-printable$
040  X-Mailer: Microsoft Office Outlook 12.0$
021  Content-Language: ru$
045  X-SpamTest-Envelope-From: [email protected]$
030  X-SpamTest-Group-ID: 00000000$
046  X-SpamTest-Info: Profiles 31511 [Apr 05 2012]$
024  X-SpamTest-Method: none$
019  X-SpamTest-Rate: 0$
032  X-SpamTest-Status: Not detected$
041  X-SpamTest-Status-Extended: not_detected$
068  X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0284], KAS30/Release$
068  X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0284], KAS30/Release$
068  X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0284], KAS30/Release$
045  X-SpamTest-Envelope-From: [email protected]$
030  X-SpamTest-Group-ID: 00000000$
046  X-SpamTest-Info: Profiles 31511 [Apr 05 2012]$
024  X-SpamTest-Method: none$
020  X-SpamTest-Rate: 45$
021  X-SpamTest-SPF: fail$
032  X-SpamTest-Status: Not detected$
041  X-SpamTest-Status-Extended: not_detected$
068  X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0284], KAS30/Release$

Не пойму, откуда берётся 0\n45
Как нужно поправить, чтобы заработало? kas3 прикручен через dlfunc, конфиг взят 
отсюда - http://mta.org.ua/exim-4.76-conf/dlfunc/kas3/configure-example
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users

Ответить