Re: [Exim] Exim with AMAVIS-NG config?

Top Page
Delete this message
Reply to this message
Author: Kai Risku
Date:  
To: exim-users
Subject: Re: [Exim] Exim with AMAVIS-NG config?
> Hello,
>
> Is anyone running exim with amavis-ng? The README.exim
> which shows a config example does not work. So Im
> wondering if anyone is running amavis-ng and can paste
> their exim config.


I recently upgraded to exim-4.10 and amavis-ng and spent
some time tweaking the configurations to suit my taste.

I decided to run amavis-ng as a standalone SMTP process
to minimize the overhead of repeatedly starting processes.
It also gave me the nice possibility to limit the number
of parallell connections from exim to amavis. We have
earlier had some problems with our puny mailserver almost
dying from trying to virus-scan large amounts of emails
simultaneously.

The amavis-"server" is running on the mailserver accepting
SMTP connections on localhost:10025 and delivering scanned
emails to localhost:25, with a scanning timeout set which
makes amavis scan the message in real-time without forking
a child process to do the scanning asynchronously.
I.e. amavis makes exim wait in the SMTP dialogue while the
message is scanned, so we can safely limit the number of
parallell connections from exim to amavis to control the load.


==============(/etc/amavis/amavis.conf)===================
[global]
mail-transfer-agent = SMTP
[SMTP]
input address = localhost
input port = 10025
output address = localhost
output port = 25
daemon = yes
session timeout = 240
pidfile = /var/run/amavis/amavisd.pid
==========================================================


Exim is set up to route all messages not coming from the
localhost interface to the amavis SMTP server. Remember
to set something like
    accept  hosts = : localhost
in your SMTP RCPT ACL so anything amavis sends back to
exim is accepted without further checks!


# (router) Place this router FIRST!
# Send all mails via Amavis virus scanner unless they have
# been received on the localhost interface (because amavis
# sends them back that way).
amavis:
        driver = accept
        condition = "${if eq {$interface_address}{127.0.0.1} {0}{1}}"
        expn = false
        verify_recipient = false
        verify_sender = false
        transport = amavis_smtp


# (transport)
# The amavis transport sends all messages to the local amavis
# process, but only one at a time (to not drive up the load).
amavis_smtp:
        driver = smtp
        hosts = localhost
        hosts_override = true
        allow_localhost = true
        multi_domain = true
        serialize_hosts = true
        connection_max_messages = 1
        interface = 127.0.0.1
        port = 10025




Hope these snippets will help you!

--
Kai.Risku@???       Oy Arrak Software Ab
GSM  +358-40-767 8282    http://www.arrak.fi