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/

Reply via email to