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