Re: [exim] Exim before-queue filtering?

Top Page
Delete this message
Reply to this message
Author: Tomasz Chmielewski
Date:  
To: W B Hacker
CC: exim users
Old-Topics: Re: [exim] Exim before-queue filtering?
Subject: Re: [exim] Exim before-queue filtering?
W B Hacker wrote:
> Tomasz Chmielewski wrote:
>> With Postfix, it is possible to do "before-queue filtering"[1] (where
>> mail is accepted only when filtering says it's OK).
>>
>> Can I make a similar setup with Exim? If yes, could you point me to Exim
>> documentation describing such setup?
>>
>>
>> [1] http://www.postfix.org/SMTPD_PROXY_README.html
>>


> Essentially ALL of it.
>
> Exim's 'acl' case structures do the bulk of the work.
>
> Exim's historical advantage is the ability to do all manner of
> conditional testing DURING the smtp phases, beginning with 'connect'.
>
> 'system filters' also exist, as do router/transport conditionals, from
> simple to very complex, but most of us do the bulk of the work in acl's
> so as to intercept and shed bad-actors as early as possible, with use of
> as meagre resource load as can be, and with greatly reduced (even NO)
> need to generate post-smtp-session DSN's.
>
> Exim impelements a whole different mindset from Postfix, so job one is
> to NOT try to apply Postfix ways to Exim - it will just slow you down.


OK, could you give me some examples here? Or point me to documentation
which deals with it?

With such setup:

begin routers

amavis:
     driver = manualroute
     condition = "${if eq {$interface_port}{10025} {0}{1}}"
     domains = +local_domains
     transport = amavis
     route_list = "* localhost byname"
     self = send



begin transports

amavis:
     driver = smtp
     port = 10024
     allow_localhost



Exim will accept any virus/spam, then pass it to amavis - and try to
send the bounce (to the non-existing address).

What should I do so that Exim first passes the message to amavis, and
only says OK to the remote server if amavis says the message was clean?


--
Tomasz Chmielewski
http://wpkg.org