Hi all, The Exim documentation says:
"If any condition on a warn statement cannot be completed (that is, there is some sort of defer), the log line specified by log_message is not written After a defer, no further conditions or modifiers in the warn statement are processed. The incident is logged, and the ACL continues to be processed, from the next statement onwards." <http://www.exim.org/exim-html-current/doc/html/spec_html/ch40.html#SECID200> It's very useful to have at least one way to execute a condition that might defer, without deferring the message. For example, I used it to implement our backup MX: <http://blog.aptivate.org/2009/01/28/backup-mail-exchangers/> However it doesn't seem to work in this case: # check WHOIS for domains registered by Communicado Ltd warn set acl_m_whois = ${run {/usr/bin/whois $sender_address_domain}} defer condition = ${if match {$acl_m_whois} {Company number: 3709008}} message = Local blacklist of Communicado Limited's domains (by the way, these guys are spewing spam at a rate of knots, this is a very effective check when it works) 2012-01-26 11:13:11 H=out3-smtp.messagingengine.com [66.111.4.27] F=<[email protected]> temporarily rejected RCPT <[email protected]>: failed to expand ACL string "${run {/usr/bin/whois $sender_address_domain}}": command timed out So why is it tempfailing the message? And is there any other way to avoid a tempfail on a condition that results in a defer? Cheers, Chris. -- _____ __ _ \ __/ / ,__(_)_ | Chris Wilson <0000 at qwirx.com> - Cambs UK | / (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Ruby/Perl/SQL Developer | \ _/_/_/_//_/___/ | Stop nuclear war http://www.nuclearrisk.org | -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
