Hi,
Apologies if this is a stupid question, but I've searched the web and
documentation and can't find out how to do what I need.
I'm running Exim 4.62 on a fairly resource constrained machine (it's a
virtual linux server), so I've restricted the number of concurrent
deliveries as follows:
smtp_accept_queue = 2
queue_run_max = 1
queue_only_load = 1.00
This was necessary because I run SpamAssassin from procmail, which is
quite resource intensive, and was causing the machine to melt down under
high load (leading to timeouts, and therefore bounces).
I use a virtual domain style router config to deliver mail:
vdom_aliases:
driver = redirect
allow_defer
allow_fail
domains = dsearch;/etc/exim4/virtual
# data =
${expand:${lookup{$local_part}lsearch*@{/etc/exim4/virtual/$domain}}}
data =
${expand:${lookup{$local_part}nwildlsearch*@{/etc/exim4/virtual/$domain}}}
retry_use_local_part
pipe_transport = address_pipe
file_transport = address_file
no_more
This all works great, apart from one problem. In the last few weeks,
I've started receiving lots of spam to <randomstring>@domain, and this
is causing backscatter bounces to be sent from my box (because I
sometimes queue mail and send a bounce, rather than rejecting the spam
at smtp time).
I've gotten around this for now by using a catchall in the virtual
domain files, but I'd like to remove this, and instead reject mail
addressed to an unknown sender at SMTP time. Unfortunately, I can't see
how to do this with a (sometimes) queuing configuration.
Is it possible to do the virtual domain lookup at SMTP time, and reject
mail at this point, *then* queue the mail for local delivery later?
Many thanks in advance for your help,
Matt.