Hi folks.
I'm running Exim 4.69 on FreeBSD 7.0
One of the main uses of our server is to act as a spam/virus scanning
relay that forwards messages on to in house servers at different locations.
We then have the following as a router:
static_route:
driver = manualroute
transport = remote_smtp_smart
route_data = ${lookup{$domain}lsearch{/etc/staticroutes}}
The transport is defined as follows
remote_smtp_smart:
driver = smtp
port = 25
hosts = ${lookup{$domain}lsearch{/etc/staticroutes}}
hosts_override
/etc/staticroutes is a list as follows
domain.tld: destination.server.name
This works well, except it means that our relay accepts mail for spam
targetted at randomguess@domain
What I have been trying to do is to write an ACL that meets the
following criteria:
1) The ACL is checked upon receipt of an RCPT TO: command
2) The ACL runs the lookup for $domain on the staticroutes file so is
only applied if the domain in RCPT TO: is found in that file
3) The ACL then performs a recipient callout verification.
4) If the destination server accepts the recipient, then the ACL is
passed and we progress onto the rest of the acls etc. If the destination
server rejects the recipient, I do not want the message accepted to the
system nor do I want to waste any more resource cycles running any other
ACLs etc.
With all my reading I've got lots of bits of commands, but I can't get
my head round how to put them together into something that works.
We do already have "require verify = recipient" set in the acl for
acl_smtp_rcpt however this does nothing.
I suspect we need a deny line with some kind of nest condition that
first checked the staticroutes file and then does a recipient callout if
the first condition is met...
Can anyone point me in the right direction for this?
Many Thanks.
--
Regards,
Colin Waring,
+44 (0)1704 564047
Southport Computers
Local IT Support
http://www.southportcomputers.co.uk
Southport Web
Web Design and Hosting Services
http://www.southportweb.co.uk