>>> list element: !test.ex
>>> test.ex in percent_hack_domains? no (matched "!test.ex")
>>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 27)
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 27)
>>> check hosts = :
>>> host in ":"?
>>> list element:
>>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 28)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 28)
>>> check domains = +local_domains
>>> test.ex in "+local_domains"?
>>> list element: +local_domains
>>> end sublist local_domains
>>> data from lookup saved for cache for +local_domains: key 'test.ex' value 'test.ex'
>>> test.ex in "+local_domains"? yes (matched "+local_domains")
->>> accept: condition test succeeded in ACL "check_recipient"
->>> end of ACL "check_recipient": ACCEPT
+>>> accept: condition test succeeded in ACL check_recipient
+>>> end of ACL check_recipient: ACCEPT
>>> other.ex in percent_hack_domains?
>>> list element: !*relay.ex
>>> list element: !test.ex
>>> list element: !test.ex
>>> test.ex in percent_hack_domains? no (matched "!test.ex")
>>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 27)
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 27)
>>> check hosts = :
>>> host in ":"?
>>> list element:
>>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 28)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 28)
>>> check domains = +local_domains
>>> test.ex in "+local_domains"?
>>> list element: +local_domains
>>> end sublist local_domains
>>> data from lookup saved for cache for +local_domains: key 'test.ex' value 'test.ex'
>>> test.ex in "+local_domains"? yes (matched "+local_domains")
->>> accept: condition test succeeded in ACL "check_recipient"
->>> end of ACL "check_recipient": ACCEPT
+>>> accept: condition test succeeded in ACL check_recipient
+>>> end of ACL check_recipient: ACCEPT
>>> testhack2.ex in percent_hack_domains?
>>> list element: !*relay.ex
>>> list element: !test.ex
>>> list element: !*relay.ex
>>> yesrelay.ex in percent_hack_domains? no (matched "!*relay.ex")
>>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 27)
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 27)
>>> check hosts = :
>>> host in ":"?
>>> list element:
>>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 28)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 28)
>>> check domains = +local_domains
>>> yesrelay.ex in "+local_domains"?
>>> list element: +local_domains
>>> end sublist local_domains
>>> data from lookup saved for cache for +local_domains: key 'yesrelay.ex' value '*relay.ex'
>>> yesrelay.ex in "+local_domains"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 29)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 29)
>>> check domains = +relay_domains
>>> yesrelay.ex in "+relay_domains"?
>>> list element: +relay_domains
>>> end sublist relay_domains
>>> data from lookup saved for cache for +relay_domains: key 'yesrelay.ex' value 'yesrelay.ex'
>>> yesrelay.ex in "+relay_domains"? yes (matched "+relay_domains")
->>> accept: condition test succeeded in ACL "check_recipient"
->>> end of ACL "check_recipient": ACCEPT
+>>> accept: condition test succeeded in ACL check_recipient
+>>> end of ACL check_recipient: ACCEPT
>>> norelay.ex in percent_hack_domains?
>>> list element: !*relay.ex
>>> norelay.ex in percent_hack_domains? no (matched "!*relay.ex")
>>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 27)
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 27)
>>> check hosts = :
>>> host in ":"?
>>> list element:
>>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 28)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 28)
>>> check domains = +local_domains
>>> norelay.ex in "+local_domains"?
>>> list element: +local_domains
>>> end sublist local_domains
>>> data from lookup saved for cache for +local_domains: key 'norelay.ex' value '*relay.ex'
>>> norelay.ex in "+local_domains"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 29)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 29)
>>> check domains = +relay_domains
>>> norelay.ex in "+relay_domains"?
>>> list element: +relay_domains
>>> norelay.ex in "test.ex : testhack.ex : testhack2.ex : yesrelay.ex : testdb;defer"? list match deferred for testdb;defer
>>> end sublist relay_domains
>>> norelay.ex in "+relay_domains"? list match deferred for +relay_domains
->>> accept: condition test deferred in ACL "check_recipient"
+>>> accept: condition test deferred in ACL check_recipient
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a@norelay.ex>: testdb lookup forced DEFER
>>> testhack.ex in percent_hack_domains?
>>> list element: !*relay.ex
>>> list element: !*relay.ex
>>> yesrelay.ex in percent_hack_domains? no (matched "!*relay.ex")
>>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 27)
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 27)
>>> check hosts = :
>>> host in ":"?
>>> list element:
>>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 28)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 28)
>>> check domains = +local_domains
>>> yesrelay.ex in "+local_domains"?
>>> list element: +local_domains
>>> end sublist local_domains
>>> data from lookup saved for cache for +local_domains: key 'yesrelay.ex' value '*relay.ex'
>>> yesrelay.ex in "+local_domains"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 29)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 29)
>>> check domains = +relay_domains
>>> yesrelay.ex in "+relay_domains"?
>>> list element: +relay_domains
>>> end sublist relay_domains
>>> data from lookup saved for cache for +relay_domains: key 'yesrelay.ex' value 'yesrelay.ex'
>>> yesrelay.ex in "+relay_domains"? yes (matched "+relay_domains")
->>> accept: condition test succeeded in ACL "check_recipient"
->>> end of ACL "check_recipient": ACCEPT
+>>> accept: condition test succeeded in ACL check_recipient
+>>> end of ACL check_recipient: ACCEPT
>>> testhack.ex in percent_hack_domains?
>>> list element: !*relay.ex
>>> list element: !test.ex
>>> list element: !*relay.ex
>>> norelay.ex in percent_hack_domains? no (matched "!*relay.ex")
>>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 27)
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 27)
>>> check hosts = :
>>> host in ":"?
>>> list element:
>>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 28)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 28)
>>> check domains = +local_domains
>>> norelay.ex in "+local_domains"?
>>> list element: +local_domains
>>> end sublist local_domains
>>> data from lookup saved for cache for +local_domains: key 'norelay.ex' value '*relay.ex'
>>> norelay.ex in "+local_domains"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 29)
+>>> accept: condition test failed in ACL check_recipient
+>>> processing ACL check_recipient "accept" (TESTSUITE/test-config 29)
>>> check domains = +relay_domains
>>> norelay.ex in "+relay_domains"?
>>> list element: +relay_domains
>>> norelay.ex in "test.ex : testhack.ex : testhack2.ex : yesrelay.ex : testdb;defer"? list match deferred for testdb;defer
>>> end sublist relay_domains
>>> norelay.ex in "+relay_domains"? list match deferred for +relay_domains
->>> accept: condition test deferred in ACL "check_recipient"
+>>> accept: condition test deferred in ACL check_recipient
LOG: H=(remote.host) [V4NET.0.0.1] F=<user@remote.host> temporarily rejected RCPT <a%norelay.ex@testhack.ex>: testdb lookup forced DEFER