[exim] Exim 4.86: errors when trying to process incoming ema…

Top Page
Delete this message
Reply to this message
Author: Konstantin Boyandin
Date:  
To: exim-users
Subject: [exim] Exim 4.86: errors when trying to process incoming email with filter
Hello,

Exim version: 4.86

I have an error when trying to process email messages with the filter
that is called like this (in ACL section):

   deny    condition  = ${if >={${run{/etc/exim/acl/mail-filter.pl \
                        --sender $sender_address \
                        --from $header_from: \
                        --to $header_to: \
                        --cc $header_cc: \
                        --bcc $header_bcc: \
                        --replyto $header_reply-to: \
                        {}{}}$runrc} {1} }
           set acl_m_msg = $value
           set acl_m_rto = ${readfile{/etc/exim/acl/inform.txt}}
           continue      = ${run{/etc/exim/acl/inform.pl --reportto 
"$acl_m_rto" --sender "$sender_address" --from "$header_from:" --to 
"$header_to:" --cc "$header_cc:" --replyto "$header_reply-to:" --subject 
"$value"}{}{}}
           message       = $acl_m_msg


The following is in Exim main.log:

2016-01-20 17:33:54 1aLr1N-0007qI-Vn H=example.com [XX.XX.XX>XX]
X=TLSv1:ECDHE-RSA-AES128-SHA:128 CV=no F=<sender@???>
temporarily rejected after DATA: failed to expand ACL string "${if
>={${run{/etc/exim/acl/mail-filter.pl --sender $sender_address --from $header_from: --to $header_to: --cc $header_cc: --bcc $header_bcc: --replyto $header_reply-to: {}{}}$runrc} {1} }": Too many arguments in command "/etc/exim/acl/mail-filter.pl --sender sender@??? --from <ED><D5><D2><D8><D1><CE><CF><D7> <E1>

<CE><C1><D4><CF><CC><C9><CA>
<E1><CC><C5><CB><D3><C1><CE><C4><D2><CF><D7><C9>
<DE>

Two questions:

1. Is it required to enclose the $header* in quote marks before passing
to the script? Looks like Exim decodes KOI8-R encoded parts of the
headers and tries to pass them as they are.

2. How to prevent such problems in the future? For the moment, I turned
off message filtering for the time being, but it isn't the solution.

Thanks.

Sincerely,
Konstantin