>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> test in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> test in helo_lookup_domains? no (end of list)
>>> using ACL "check_recipient"
>>> processing "require" (TESTSUITE/test-config 21)
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing unknown@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> unknown in "defer"?
+>>> list element: defer
>>> unknown in "defer"? no (end of list)
+>>> unknown in "userx"?
+>>> list element: userx
>>> unknown in "userx"? no (end of list)
>>> no more routers
>>> ----------- end verify ------------
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@unknown.dom.ain
->>> unknown.dom.ain in "test.ex"? no (end of list)
+>>> unknown.dom.ain in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> unknown.dom.ain in "test.ex"?
+>>> list element: test.ex
+>>> unknown.dom.ain in "test.ex"? no (end of list)
>>> unknown.dom.ain in "! +local_domains"? yes (end of list)
>>> calling fail_remote_domains router
>>> fail_remote_domains router forced address failure
>>> end of ACL "check_recipient": not OK
LOG: H=(test) [127.0.0.1] sender verify fail for <userx@unknown.dom.ain>: unrouteable mail domain "unknown.dom.ain"
LOG: H=(test) [127.0.0.1] F=<userx@unknown.dom.ain> rejected RCPT <userx@test.ex>: Sender verify failed
->>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
+>>> host in smtp_accept_max_nonmail_hosts?
+>>> list element: *
+>>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
>>> using ACL "check_recipient"
>>> processing "require" (TESTSUITE/test-config 21)
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing "unknown with spaces"@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> unknown with spaces in "defer"?
+>>> list element: defer
>>> unknown with spaces in "defer"? no (end of list)
+>>> unknown with spaces in "userx"?
+>>> list element: userx
>>> unknown with spaces in "userx"? no (end of list)
>>> no more routers
>>> ----------- end verify ------------
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> userx in "defer"?
+>>> list element: defer
>>> userx in "defer"? no (end of list)
->>> userx in "userx"? yes (matched "userx")
+>>> userx in "userx"?
+>>> list element: userx
+>>> userx in "userx"? yes (matched "userx")
>>> calling userx router
>>> routed by userx router
>>> ----------- end verify ------------
>>> require: condition test succeeded in ACL "check_recipient"
>>> processing "accept" (TESTSUITE/test-config 22)
>>> check domains = +local_domains
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> test.ex in "+local_domains"?
+>>> list element: +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "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
>>> host in ignore_fromline_hosts? no (option unset)
>>> verifying From: header address unknown@test.ex
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing unknown@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> unknown in "defer"?
+>>> list element: defer
>>> unknown in "defer"? no (end of list)
+>>> unknown in "userx"?
+>>> list element: userx
>>> unknown in "userx"? no (end of list)
>>> no more routers
>>> require: condition test failed in ACL "check_message"
>>> end of ACL "check_message": not OK
-LOG: 10HmaX-0005vi-00 H=(test) [127.0.0.1] F=<userx@test.ex> rejected after DATA: there is no valid sender in any header line
+LOG: 10HmaX-000000005vi-0000 H=(test) [127.0.0.1] F=<userx@test.ex> rejected after DATA: there is no valid sender in any header line
>>> using ACL "check_recipient"
>>> processing "require" (TESTSUITE/test-config 21)
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> userx in "defer"?
+>>> list element: defer
>>> userx in "defer"? no (end of list)
->>> userx in "userx"? yes (matched "userx")
+>>> userx in "userx"?
+>>> list element: userx
+>>> userx in "userx"? yes (matched "userx")
>>> calling userx router
>>> routed by userx router
>>> ----------- end verify ------------
>>> require: condition test succeeded in ACL "check_recipient"
>>> processing "accept" (TESTSUITE/test-config 22)
>>> check domains = +local_domains
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> test.ex in "+local_domains"?
+>>> list element: +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "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
>>> host in ignore_fromline_hosts? no (option unset)
+LOG: 10HmaY-000000005vi-0000 qualify/rewrite: missing or malformed local part
>>> using ACL "check_message"
>>> processing "require" (TESTSUITE/test-config 27)
>>> check verify = header_sender
>>> verifying From: header address <>
>>> require: condition test failed in ACL "check_message"
>>> end of ACL "check_message": not OK
-LOG: 10HmaY-0005vi-00 H=(test) [127.0.0.1] F=<userx@test.ex> rejected after DATA: syntax error in 'From:' header when scanning for sender: missing or malformed local part in "<>"
+LOG: 10HmaY-000000005vi-0000 H=(test) [127.0.0.1] F=<userx@test.ex> rejected after DATA: syntax error in 'From:' header when scanning for sender: missing or malformed local part in "<>"
>>> using ACL "check_recipient"
>>> processing "require" (TESTSUITE/test-config 21)
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing defer@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> defer in "defer"? yes (matched "defer")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> defer in "defer"?
+>>> list element: defer
+>>> defer in "defer"? yes (matched "defer")
>>> calling defer router
>>> defer router: defer for defer@test.ex
>>> message: forced defer
>>> check verify = sender
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing userx@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> userx in "defer"?
+>>> list element: defer
>>> userx in "defer"? no (end of list)
->>> userx in "userx"? yes (matched "userx")
+>>> userx in "userx"?
+>>> list element: userx
+>>> userx in "userx"? yes (matched "userx")
>>> calling userx router
>>> routed by userx router
>>> ----------- end verify ------------
>>> require: condition test succeeded in ACL "check_recipient"
>>> processing "accept" (TESTSUITE/test-config 22)
>>> check domains = +local_domains
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "+local_domains"? yes (matched "+local_domains")
+>>> test.ex in "+local_domains"?
+>>> list element: +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "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
>>> host in ignore_fromline_hosts? no (option unset)
>>> verifying from: header address <defer@test.ex>
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing defer@test.ex
->>> test.ex in "test.ex"? yes (matched "test.ex")
->>> test.ex in "! +local_domains"? no (matched "! +local_domains")
->>> defer in "defer"? yes (matched "defer")
+>>> test.ex in "! +local_domains"?
+>>> list element: ! +local_domains
+>>> test.ex in "test.ex"?
+>>> list element: test.ex
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> defer in "defer"?
+>>> list element: defer
+>>> defer in "defer"? yes (matched "defer")
>>> calling defer router
>>> defer router: defer for defer@test.ex
>>> message: forced defer
>>> require: condition test deferred in ACL "check_message"
-LOG: 10HmaZ-0005vi-00 H=(test) [127.0.0.1] F=<userx@test.ex> temporarily rejected after DATA: all attempts to verify a sender in a header line deferred
+LOG: 10HmaZ-000000005vi-0000 H=(test) [127.0.0.1] F=<userx@test.ex> temporarily rejected after DATA: all attempts to verify a sender in a header line deferred
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
+>>> foo.bar in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
->>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in pipelining_advertise_hosts?
+>>> list element: *
+>>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in chunking_advertise_hosts?
>>> host in chunking_advertise_hosts? no (end of list)
->>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
+>>> host in smtp_accept_max_nonmail_hosts?
+>>> list element: *
+>>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
+>>> foo.bar in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
->>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in pipelining_advertise_hosts?
+>>> list element: *
+>>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in chunking_advertise_hosts?
>>> host in chunking_advertise_hosts? no (end of list)
+>>> foo.bar in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
->>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in pipelining_advertise_hosts?
+>>> list element: *
+>>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in chunking_advertise_hosts?
>>> host in chunking_advertise_hosts? no (end of list)
+>>> foo.bar in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
->>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in pipelining_advertise_hosts?
+>>> list element: *
+>>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in chunking_advertise_hosts?
>>> host in chunking_advertise_hosts? no (end of list)
+>>> foo.bar in helo_lookup_domains?
+>>> list element: @
+>>> list element: @[]
>>> foo.bar in helo_lookup_domains? no (end of list)
+>>> list element: *
+>>> host in limits_advertise_hosts? yes (matched "*")
>>> host in dsn_advertise_hosts? no (option unset)
->>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in pipelining_advertise_hosts?
+>>> list element: *
+>>> host in pipelining_advertise_hosts? yes (matched "*")
+>>> host in chunking_advertise_hosts?
>>> host in chunking_advertise_hosts? no (end of list)