OK - I want to throw out a proposal to make a major change to Exim - the scripting language. And before you all start screaming - the idea would be to leave the existing language in for compatibility.

Why do this? because the scripting is not intuitive. I've been using this language for 4 years and I still don't get it - and I've written compilers and invented programming languages.

Suppose I wanted to test to see if a header does not exist.

condition = !def:h_X-Mail-from:

or better:

condition = not header_exists X-Mail-from:

or this type of scripting should work:

condition = $h_X-Mail-from: = ""

It takes me hours to do what should take seconds. Of course when I moved from sendmail to Exim I though I died and went to heaven. But now - not quite heaven.

Other Examples:

 condition = "${if and { \
                       {!eq {$interface_address}{127.0.0.1}} \
                       {!def:h_X-Spam-Status:} \
                       {!def:h_X-Mailman-host:} \
                       {!eq {$received_protocol}{ctyme-spam-scanned}} \
                       {!eq {$received_protocol}{local}} \
                       } {1}{0}}"

Should be:

condition = ($interface_address = 127.0.0.1) and
            (not header_exists(X-Spam-Status)) and
            (not header_exists(X-Mailman-host)) and
            ($received_protocol <> ctyme-spam-scanned) and
            ($received_protocol <> local)

It needs to read easy - be intuitive.



--
## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to