I understand that 'defer' is returned if a test cannot be completed, for example when a DNS blacklist lookup times out. But what effect does defer have on the final ACL decision? Also, what happens when I manually set the return to be 'defer' instead of 'deny', for example when looking up against a local blacklist?
http://www.exim.org/exim-html-current/doc/html/spec_html/ch-access_control_lists.html, 12. ACL return codes:
This means that "defer" indicates a temporary problem (4xx) to the sender, and "deny" means a permanent problem (5xx) and the sender should not retry. As an example for blacklists, you can use defer if you can't reach them, and deny if the host is on the blacklist. (I think this is done automatically by dnslist)