summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2017-01-14 17:34:57 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2017-01-21 21:51:01 +0000
commit902fbd6974bac4abf70a4c567534669a86ff763e (patch)
tree30d6ca95f657e1139bac6e35e1d320a69b13709b
parente9166683487c860e0b817153531cb1b2b0485347 (diff)
Testcases for pipelined callout
-rw-r--r--doc/doc-txt/ChangeLog4
-rw-r--r--src/src/verify.c37
l---------test/confs/05781
-rw-r--r--test/log/057822
-rw-r--r--test/rejectlog/057820
-rw-r--r--test/scripts/0000-Basic/0578483
-rw-r--r--test/stderr/0578896
-rw-r--r--test/stdout/0578482
8 files changed, 1928 insertions, 17 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index f501eb433..50309b1f1 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -32,6 +32,10 @@ JH/05 Bug 2017: Fix DKIM verification in -bh test mode. The data feed into
the dkim code may be unix-mode line endings rather than smtp wire-format
CRLF, so prepend a CR to any bare LF.
+JH/06 Rationalise the coding for callout smtp conversations and transport ones.
+ As a side-benfit, callouts can now use PIPELINING hence fewer round-trips.
+
+
Exim version 4.88
-----------------
diff --git a/src/src/verify.c b/src/src/verify.c
index f263060be..6fef314fc 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -761,6 +761,23 @@ tls_retry_connection:
addr->address = string_sprintf("%s@%.1000s",
random_local_part, rcpt_domain);
done = FALSE;
+
+ /* If accepted, we aren't going to do any further tests below.
+ Otherwise, cache a real negative response, and get back to the right
+ state to send RCPT. Unless there's some problem such as a dropped
+ connection, we expect to succeed, because the commands succeeded above.
+ However, some servers drop the connection after responding to an
+ invalid recipient, so on (any) error we drop and remake the connection.
+ XXX We don't care about that for postmaster_full. Should we?
+
+ XXX could we add another flag to the context, and have the common
+ code emit the RSET too? Even pipelined after the RCPT...
+ Then the main-verify call could use it if there's to be a subsequent
+ postmaster-verify.
+ The sync_responses() would need to be taught about it and we'd
+ need another return code filtering out to here.
+ */
+
if (smtp_write_mail_and_rcpt_cmds(&sx, &yield) == 0)
switch(addr->transport_return)
{
@@ -771,7 +788,8 @@ tls_retry_connection:
new_domain_record.random_result = ccache_reject;
/* Between each check, issue RSET, because some servers accept only
- one recipient after MAIL FROM:<>. */
+ one recipient after MAIL FROM:<>.
+ XXX We don't care about that for postmaster_full. Should we? */
if ((done =
smtp_write_command(&sx.outblock, FALSE, "RSET\r\n") >= 0 &&
@@ -795,22 +813,7 @@ tls_retry_connection:
goto tls_retry_connection;
}
- /* If accepted, we aren't going to do any further tests below.
- Otherwise, cache a real negative response, and get back to the right
- state to send RCPT. Unless there's some problem such as a dropped
- connection, we expect to succeed, because the commands succeeded above.
- However, some servers drop the connection after responding to an
- invalid recipient, so on (any) error we drop and remake the connection.
-
- XXX could we add another flag to the context, and have the common
- code emit the RSET too? Even pipelined after the RCPT...
- Then the main-verify call could use it if there's to be a subsequent
- postmaster-verify.
- The sync_responses() would need to be taught about it and we'd
- need another return code filtering out to here.
-
- Remember when we last did a random test
- */
+ /* Remember when we last did a random test */
new_domain_record.random_stamp = time(NULL);
diff --git a/test/confs/0578 b/test/confs/0578
new file mode 120000
index 000000000..84e7471cf
--- /dev/null
+++ b/test/confs/0578
@@ -0,0 +1 @@
+0376 \ No newline at end of file
diff --git a/test/log/0578 b/test/log/0578
new file mode 100644
index 000000000..7c38e638c
--- /dev/null
+++ b/test/log/0578
@@ -0,0 +1,22 @@
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <ok@localhost>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : could not connect: Connection refused
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<ok@localhost> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>: 127.0.0.1 [127.0.0.1] : SMTP error from remote mail server after RCPT TO:<bad@localhost>: 550 REJECTED rcpt
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <ok@localhost>: 127.0.0.1 [127.0.0.1] : response to "MAIL FROM:<>" was: 550 REJECT mail from
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<ok@localhost> rejected RCPT <z@test.ex>: (mail): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <ok@localhost>
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<ok@localhost> rejected RCPT <z@test.ex>: (mail): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root sender verify fail for <ok@otherhost>: 127.0.0.1 [127.0.0.1] : SMTP error from remote mail server after RCPT TO:<postmaster@otherhost>: 550 NOT OK rcpt postmaster
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root F=<ok@otherhost> rejected RCPT <z@test.ex>: Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root sender verify fail for <ok@otherhost>
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root F=<ok@otherhost> rejected RCPT <z@test.ex>: Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root sender verify defer for <ok@otherhost3>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : response to "RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost3>" was: 250 OK accepting that random recipient
+1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<ok@otherhost3> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+1999-03-02 09:44:33 H=[V4NET.0.0.4] U=root sender verify defer for <ok@otherhost4>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : response to "RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost4>" was: 250 OK
+1999-03-02 09:44:33 H=[V4NET.0.0.4] U=root F=<ok@otherhost4> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root sender verify defer for <okok@otherhost51>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : SMTP timeout after RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost51>
+1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<okok@otherhost51> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= ok7@otherhost53 H=[V4NET.0.0.7] U=root P=smtp S=sss
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= ok7@otherhost53 H=[V4NET.0.0.8] U=root P=smtp S=sss
diff --git a/test/rejectlog/0578 b/test/rejectlog/0578
new file mode 100644
index 000000000..db94a4d6e
--- /dev/null
+++ b/test/rejectlog/0578
@@ -0,0 +1,20 @@
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify defer for <ok@localhost>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : could not connect: Connection refused
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<ok@localhost> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>: 127.0.0.1 [127.0.0.1] : SMTP error from remote mail server after RCPT TO:<bad@localhost>: 550 REJECTED rcpt
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <ok@localhost>: 127.0.0.1 [127.0.0.1] : response to "MAIL FROM:<>" was: 550 REJECT mail from
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<ok@localhost> rejected RCPT <z@test.ex>: (mail): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root sender verify fail for <ok@localhost>
+1999-03-02 09:44:33 H=[V4NET.0.0.1] U=root F=<ok@localhost> rejected RCPT <z@test.ex>: (mail): Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root sender verify fail for <ok@otherhost>: 127.0.0.1 [127.0.0.1] : SMTP error from remote mail server after RCPT TO:<postmaster@otherhost>: 550 NOT OK rcpt postmaster
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root F=<ok@otherhost> rejected RCPT <z@test.ex>: Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root sender verify fail for <ok@otherhost>
+1999-03-02 09:44:33 H=[V4NET.0.0.2] U=root F=<ok@otherhost> rejected RCPT <z@test.ex>: Sender verify failed
+1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root sender verify defer for <ok@otherhost3>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : response to "RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost3>" was: 250 OK accepting that random recipient
+1999-03-02 09:44:33 H=[V4NET.0.0.3] U=root F=<ok@otherhost3> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+1999-03-02 09:44:33 H=[V4NET.0.0.4] U=root sender verify defer for <ok@otherhost4>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : response to "RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost4>" was: 250 OK
+1999-03-02 09:44:33 H=[V4NET.0.0.4] U=root F=<ok@otherhost4> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root sender verify defer for <okok@otherhost51>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : SMTP timeout after RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost51>
+1999-03-02 09:44:33 H=[V4NET.0.0.5] U=root F=<okok@otherhost51> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
diff --git a/test/scripts/0000-Basic/0578 b/test/scripts/0000-Basic/0578
new file mode 100644
index 000000000..4267b0cea
--- /dev/null
+++ b/test/scripts/0000-Basic/0578
@@ -0,0 +1,483 @@
+# callout verification pipelining
+need_ipv4
+#
+# basic sender verify
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO
+250 OK mail sender
+250 OK recipient
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.1
+MAIL FROM:<ok@localhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.1
+MAIL FROM:<ok@localhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Wait for the record to time out and try again
+sleep 2
+# Should want to connect, but fail
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.1
+MAIL FROM:<ok@localhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test unsuccessful caching
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK sender
+550 REJECTED rcpt
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.1
+MAIL FROM:<bad@localhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.1
+MAIL FROM:<bad@localhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of rejection of MAIL FROM:<>
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+550 REJECT mail from
+530 BAD SEQUENCE no sender accepted for rcpt
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.1
+MAIL FROM:<ok@localhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.1
+MAIL FROM:<ok@localhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of rejection of postmaster
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO
+250 OK sender
+250 OK rcpt
+RSET
+250 OK reset
+MAIL FROM:<>
+RCPT TO:<postmaster@otherhost>
+250 OK sender
+550 NOT OK rcpt postmaster
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.2
+MAIL FROM:<ok@otherhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.2
+MAIL FROM:<ok@otherhost>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of accepting of postmaster
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM
+RCPT TO:<postmaster@otherhost2>
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.2
+MAIL FROM:<ok@otherhost2>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.2
+MAIL FROM:<ok@otherhost2>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of accepting a random address
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO:<myhost.test.ex-
+250 OK
+250 OK accepting that random recipient
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.3
+MAIL FROM:<ok@otherhost3>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.3
+MAIL FROM:<otherok@otherhost3>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of accepting a random address and postmaster
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO:<myhost.test.ex-
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.4
+MAIL FROM:<ok@otherhost4>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.4
+MAIL FROM:<ok@otherhost4>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of rejecting a random address and postmaster
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-
+250 OK
+550 NOT OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@otherhost41>
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<postmaster@otherhost41>
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.4
+MAIL FROM:<ok@otherhost41>
+RCPT TO:<z@test.ex>
+QUIT
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.4
+MAIL FROM:<ok@otherhost41>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of accepting of postmaster when another
+# address has to be tested
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.2
+MAIL FROM:<ok@otherhost21>
+RCPT TO:<z@test.ex>
+QUIT
+****
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.2
+MAIL FROM:<ok2@otherhost21>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test caching of rejecting a random address
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+550 NOT OK
+RSET
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.3
+MAIL FROM:<ok@otherhost31>
+RCPT TO:<z@test.ex>
+QUIT
+****
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO:<okok@otherhost31>
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.3
+MAIL FROM:<okok@otherhost31>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Wait a bit for the record to expire and then try again
+sleep 2
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-
+250 OK
+550 NOT OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<okokok@otherhost31>
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -DPEX=1s -d-all+verify -v -bs -oMa V4NET.0.0.3
+MAIL FROM:<okokok@otherhost31>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Timeout on the RCPT for random
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+*sleep 2
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.5
+MAIL FROM:<okok@otherhost51>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Postmaster_sender set non-empty
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<pmsend@a.domain>
+RCPT TO:<postmaster@otherhost52>
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.6
+MAIL FROM:<okokok@otherhost52>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Header_sender sender set non-empty
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<somesender@a.domain>
+RCPT TO:<abcd@x.y.z>
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -odq -v -bs -oMa V4NET.0.0.7
+MAIL FROM:<ok7@otherhost53>
+RCPT TO:<z@test.ex>
+DATA
+Reply-To: abcd@x.y.z
+.
+QUIT
+****
+# Timeout on RCPT for header_sender (defer_ok test)
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+*sleep 2
+****
+sudo exim -d-all+verify -odq -v -bs -oMa V4NET.0.0.8
+MAIL FROM:<ok7@otherhost53>
+RCPT TO:<z@test.ex>
+DATA
+Reply-To: abcd@x.y.z
+.
+QUIT
+****
+# Test full postmaster check
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM
+RCPT TO:<postmaster@otherhost9>
+250 OK
+550 NOT OK
+RCPT TO:<postmaster>
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.9
+MAIL FROM:<ok@otherhost9>
+RCPT TO:<z@test.ex>
+QUIT
+****
+# Test postmaster_mailfrom with random
+server PORT_S
+220 Server ready
+EHLO
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+550 RANDOM IS BAD
+RSET
+250 OK
+MAIL FROM
+RCPT TO
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<pmsend@b.domain>
+RCPT TO:<postmaster@test.ex>
+250 OK
+250 OK
+QUIT
+250 OK
+****
+sudo exim -d-all+verify -v -bs -oMa V4NET.0.0.10
+MAIL FROM:<ok@otherhost10>
+RCPT TO:<z@test.ex>
+QUIT
+****
+no_msglog_check
diff --git a/test/stderr/0578 b/test/stderr/0578
new file mode 100644
index 000000000..74581fd9c
--- /dev/null
+++ b/test/stderr/0578
@@ -0,0 +1,896 @@
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@localhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@localhost
+Attempting full verification using callout
+callout cache: no domain record found for localhost
+callout cache: no address record found for ok@localhost
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@localhost>
+ SMTP<< 250 OK mail sender
+ SMTP<< 250 OK recipient
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for localhost:
+ result=1 postmaster=0 random=0
+wrote positive callout cache address record for ok@localhost
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@localhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@localhost
+Attempting full verification using callout
+callout cache: found domain record for localhost
+callout cache: found address record for ok@localhost
+callout cache: address record is positive
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@localhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@localhost
+Attempting full verification using callout
+callout cache: found domain record for localhost
+callout cache: address record expired for ok@localhost
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... failed: Connection refused
+connect: Connection refused
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root sender verify defer for <ok@localhost>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : could not connect: Connection refused
+created log directory TESTSUITE/spool/log
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root F=<ok@localhost> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying bad@localhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering bad@localhost
+Attempting full verification using callout
+callout cache: found domain record for localhost
+callout cache: no address record found for bad@localhost
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<bad@localhost>
+ SMTP<< 250 OK sender
+ SMTP<< 550 REJECTED rcpt
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for localhost:
+ result=1 postmaster=0 random=0
+wrote negative callout cache address record for bad@localhost
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>: 127.0.0.1 [127.0.0.1] : SMTP error from remote mail server after RCPT TO:<bad@localhost>: 550 REJECTED rcpt
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient): Sender verify failed
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying bad@localhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering bad@localhost
+Attempting full verification using callout
+callout cache: found domain record for localhost
+callout cache: found address record for bad@localhost
+callout cache: address record is negative
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root F=<bad@localhost> rejected RCPT <z@test.ex>: (recipient): Sender verify failed
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@localhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@localhost
+Attempting full verification using callout
+callout cache: found domain record for localhost
+callout cache: address record expired for ok@localhost
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@localhost>
+ SMTP<< 550 REJECT mail from
+ SMTP<< 530 BAD SEQUENCE no sender accepted for rcpt
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for localhost:
+ result=3 postmaster=0 random=0
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root sender verify fail for <ok@localhost>: 127.0.0.1 [127.0.0.1] : response to "MAIL FROM:<>" was: 550 REJECT mail from
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root F=<ok@localhost> rejected RCPT <z@test.ex>: (mail): Sender verify failed
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@localhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@localhost
+Attempting full verification using callout
+callout cache: found domain record for localhost
+callout cache: domain gave initial rejection, or does not accept HELO or MAIL FROM:<>
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root sender verify fail for <ok@localhost>
+LOG: MAIN REJECT
+ H=[V4NET.0.0.1] U=root F=<ok@localhost> rejected RCPT <z@test.ex>: (mail): Sender verify failed
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost
+Attempting full verification using callout
+callout cache: no domain record found for otherhost
+callout cache: no address record found for ok@otherhost
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@otherhost>
+ SMTP<< 250 OK sender
+ SMTP<< 250 OK rcpt
+Cutthrough cancelled by presence of postmaster verify
+ SMTP>> RSET
+ SMTP<< 250 OK reset
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<postmaster@otherhost>
+ SMTP<< 250 OK sender
+ SMTP<< 550 NOT OK rcpt postmaster
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost:
+ result=1 postmaster=2 random=0
+wrote positive callout cache address record for ok@otherhost
+LOG: MAIN REJECT
+ H=[V4NET.0.0.2] U=root sender verify fail for <ok@otherhost>: 127.0.0.1 [127.0.0.1] : SMTP error from remote mail server after RCPT TO:<postmaster@otherhost>: 550 NOT OK rcpt postmaster
+LOG: MAIN REJECT
+ H=[V4NET.0.0.2] U=root F=<ok@otherhost> rejected RCPT <z@test.ex>: Sender verify failed
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost
+Attempting full verification using callout
+callout cache: found domain record for otherhost
+callout cache: domain does not accept RCPT TO:<postmaster@domain>
+LOG: MAIN REJECT
+ H=[V4NET.0.0.2] U=root sender verify fail for <ok@otherhost>
+LOG: MAIN REJECT
+ H=[V4NET.0.0.2] U=root F=<ok@otherhost> rejected RCPT <z@test.ex>: Sender verify failed
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost2
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost2
+Attempting full verification using callout
+callout cache: no domain record found for otherhost2
+callout cache: no address record found for ok@otherhost2
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@otherhost2>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+Cutthrough cancelled by presence of postmaster verify
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<postmaster@otherhost2>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost2:
+ result=1 postmaster=1 random=0
+wrote positive callout cache address record for ok@otherhost2
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost2
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost2
+Attempting full verification using callout
+callout cache: found domain record for otherhost2
+callout cache: domain accepts RCPT TO:<postmaster@domain>
+callout cache: found address record for ok@otherhost2
+callout cache: address record is positive
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost3
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost3
+Attempting full verification using callout
+callout cache: no domain record found for otherhost3
+callout cache: no address record found for ok@otherhost3
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost3>
+ SMTP<< 250 OK
+ SMTP<< 250 OK accepting that random recipient
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost3:
+ result=1 postmaster=0 random=1
+LOG: MAIN REJECT
+ H=[V4NET.0.0.3] U=root sender verify defer for <ok@otherhost3>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : response to "RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost3>" was: 250 OK accepting that random recipient
+LOG: MAIN REJECT
+ H=[V4NET.0.0.3] U=root F=<ok@otherhost3> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying otherok@otherhost3
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering otherok@otherhost3
+Attempting full verification using callout
+callout cache: found domain record for otherhost3
+callout cache: domain accepts random addresses
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost4
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost4
+Attempting full verification using callout
+callout cache: no domain record found for otherhost4
+callout cache: no address record found for ok@otherhost4
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost4>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost4:
+ result=1 postmaster=0 random=1
+LOG: MAIN REJECT
+ H=[V4NET.0.0.4] U=root sender verify defer for <ok@otherhost4>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : response to "RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost4>" was: 250 OK
+LOG: MAIN REJECT
+ H=[V4NET.0.0.4] U=root F=<ok@otherhost4> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost4
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost4
+Attempting full verification using callout
+callout cache: found domain record for otherhost4
+callout cache: domain accepts random addresses
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost41
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost41
+Attempting full verification using callout
+callout cache: no domain record found for otherhost41
+callout cache: no address record found for ok@otherhost41
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost41>
+ SMTP<< 250 OK
+ SMTP<< 550 NOT OK
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@otherhost41>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+Cutthrough cancelled by presence of postmaster verify
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<postmaster@otherhost41>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost41:
+ result=1 postmaster=1 random=2
+wrote positive callout cache address record for ok@otherhost41
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost41
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost41
+Attempting full verification using callout
+callout cache: found domain record for otherhost41
+callout cache: domain rejects random addresses
+callout cache: domain accepts RCPT TO:<postmaster@domain>
+callout cache: found address record for ok@otherhost41
+callout cache: address record is positive
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost21
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost21
+Attempting full verification using callout
+callout cache: no domain record found for otherhost21
+callout cache: no address record found for ok@otherhost21
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@otherhost21>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+Cutthrough cancelled by presence of postmaster verify
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<postmaster@otherhost21>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost21:
+ result=1 postmaster=1 random=0
+wrote positive callout cache address record for ok@otherhost21
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok2@otherhost21
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok2@otherhost21
+Attempting full verification using callout
+callout cache: found domain record for otherhost21
+callout cache: domain accepts RCPT TO:<postmaster@domain>
+callout cache: no address record found for ok2@otherhost21
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok2@otherhost21>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost21:
+ result=1 postmaster=1 random=0
+wrote positive callout cache address record for ok2@otherhost21
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost31
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost31
+Attempting full verification using callout
+callout cache: no domain record found for otherhost31
+callout cache: no address record found for ok@otherhost31
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost31>
+ SMTP<< 250 OK
+ SMTP<< 550 NOT OK
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@otherhost31>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost31:
+ result=1 postmaster=0 random=2
+wrote positive callout cache address record for ok@otherhost31
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying okok@otherhost31
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering okok@otherhost31
+Attempting full verification using callout
+callout cache: found domain record for otherhost31
+callout cache: domain rejects random addresses
+callout cache: no address record found for okok@otherhost31
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<okok@otherhost31>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost31:
+ result=1 postmaster=0 random=2
+wrote positive callout cache address record for okok@otherhost31
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying okokok@otherhost31
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering okokok@otherhost31
+Attempting full verification using callout
+callout cache: domain record expired for otherhost31
+callout cache: no address record found for okokok@otherhost31
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost31>
+ SMTP<< 250 OK
+ SMTP<< 550 NOT OK
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<okokok@otherhost31>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost31:
+ result=1 postmaster=0 random=2
+wrote positive callout cache address record for okokok@otherhost31
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying okok@otherhost51
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering okok@otherhost51
+Attempting full verification using callout
+callout cache: no domain record found for otherhost51
+callout cache: no address record found for okok@otherhost51
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost51>
+ SMTP<< 250 OK
+SMTP timeout
+ SMTP(close)>>
+wrote callout cache domain record for otherhost51:
+ result=1 postmaster=0 random=0
+LOG: MAIN REJECT
+ H=[V4NET.0.0.5] U=root sender verify defer for <okok@otherhost51>: Could not complete sender verify callout: 127.0.0.1 [127.0.0.1] : SMTP timeout after RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost51>
+LOG: MAIN REJECT
+ H=[V4NET.0.0.5] U=root F=<okok@otherhost51> temporarily rejected RCPT <z@test.ex>: Could not complete sender verify callout
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying okokok@otherhost52
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering okokok@otherhost52
+Attempting full verification using callout
+callout cache: no domain record found for otherhost52
+callout cache: no address record found for okokok@otherhost52
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<okokok@otherhost52>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+Cutthrough cancelled by presence of postmaster verify
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<pmsend@a.domain>
+ SMTP>> RCPT TO:<postmaster@otherhost52>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost52:
+ result=1 postmaster=1 random=0
+wrote positive callout cache address record for okokok@otherhost52
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+verifying Reply-To: header address abcd@x.y.z
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying abcd@x.y.z
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering abcd@x.y.z
+Attempting full verification using callout
+callout cache: no domain record found for x.y.z
+callout cache: no address record found for abcd@x.y.z/<somesender@a.domain>
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<somesender@a.domain>
+ SMTP>> RCPT TO:<abcd@x.y.z>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for x.y.z:
+ result=1 postmaster=0 random=0
+wrote positive callout cache address record for abcd@x.y.z/<somesender@a.domain>
+LOG: MAIN
+ <= ok7@otherhost53 H=[V4NET.0.0.7] U=root P=smtp S=sss
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+verifying Reply-To: header address abcd@x.y.z
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying abcd@x.y.z
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering abcd@x.y.z
+Attempting full verification using callout
+callout cache: found domain record for x.y.z
+callout cache: no address record found for abcd@x.y.z
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<abcd@x.y.z>
+ SMTP<< 250 OK
+SMTP timeout
+ SMTP(close)>>
+wrote callout cache domain record for x.y.z:
+ result=1 postmaster=0 random=0
+LOG: MAIN
+ <= ok7@otherhost53 H=[V4NET.0.0.8] U=root P=smtp S=sss
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying ok@otherhost9
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering ok@otherhost9
+Attempting full verification using callout
+callout cache: no domain record found for otherhost9
+callout cache: no address record found for ok@otherhost9
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<ok@otherhost9>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+Cutthrough cancelled by presence of postmaster verify
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<>
+ SMTP>> RCPT TO:<postmaster@otherhost9>
+ SMTP<< 250 OK
+ SMTP<< 550 NOT OK
+ SMTP>> RCPT TO:<postmaster>
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for otherhost9:
+ result=1 postmaster=1 random=0
+wrote positive callout cache address record for ok@otherhost9
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying z@test.ex
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering z@test.ex
+Attempting full verification using callout
+callout cache: no domain record found for test.ex
+callout cache: no address record found for z@test.ex/<postmaster@myhost.test.ex>
+interface=NULL port=1224
+Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> EHLO myhost.test.ex
+ SMTP<< 250-Yeah mate
+ 250-PIPELINING
+ 250 OK
+ SMTP>> MAIL FROM:<postmaster@myhost.test.ex>
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@test.ex>
+ SMTP<< 250 OK
+ SMTP<< 550 RANDOM IS BAD
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<postmaster@myhost.test.ex>
+ SMTP>> RCPT TO:<z@test.ex>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+Cutthrough cancelled by presence of postmaster verify
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<pmsend@b.domain>
+ SMTP>> RCPT TO:<postmaster@test.ex>
+ SMTP<< 250 OK
+ SMTP<< 250 OK
+ SMTP>> QUIT
+ SMTP<< 250 OK
+ SMTP(close)>>
+wrote callout cache domain record for test.ex:
+ result=1 postmaster=1 random=2
+wrote positive callout cache address record for z@test.ex/<postmaster@myhost.test.ex>
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
diff --git a/test/stdout/0578 b/test/stdout/0578
new file mode 100644
index 000000000..40b265041
--- /dev/null
+++ b/test/stdout/0578
@@ -0,0 +1,482 @@
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+451 Could not complete sender verify callout
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+550-Verification failed for <bad@localhost>
+550-Called: 127.0.0.1
+550-Sent: RCPT TO:<bad@localhost>
+550-Response: 550 REJECTED rcpt
+550 Sender verify failed
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+550-Verification failed for <bad@localhost>
+550-Previous (cached) callout verification failure
+550 Sender verify failed
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+550-Callback setup failed while verifying <ok@localhost>
+550-Called: 127.0.0.1
+550-Sent: MAIL FROM:<>
+550-Response: 550 REJECT mail from
+550-The initial connection, or a HELO or MAIL FROM:<> command was
+550-rejected. Refusing MAIL FROM:<> does not help fight spam, disregards
+550-RFC requirements, and stops you from receiving standard bounce
+550-messages. This host does not accept mail from domains whose servers
+550-refuse bounces.
+550 Sender verify failed
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+550-Callback setup failed while verifying <ok@localhost>
+550-(result of an earlier callout reused).
+550-The initial connection, or a HELO or MAIL FROM:<> command was
+550-rejected. Refusing MAIL FROM:<> does not help fight spam, disregards
+550-RFC requirements, and stops you from receiving standard bounce
+550-messages. This host does not accept mail from domains whose servers
+550-refuse bounces.
+550 Sender verify failed
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+550-Postmaster verification failed while checking <ok@otherhost>
+550-Called: 127.0.0.1
+550-Sent: RCPT TO:<postmaster@otherhost>
+550-Response: 550 NOT OK rcpt postmaster
+550-Several RFCs state that you are required to have a postmaster
+550-mailbox for each mail domain. This host does not accept mail
+550-from domains whose servers reject the postmaster address.
+550 Sender verify failed
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+550-Postmaster verification failed while checking <ok@otherhost>
+550-(result of earlier verification reused).
+550-Several RFCs state that you are required to have a postmaster
+550-mailbox for each mail domain. This host does not accept mail
+550-from domains whose servers reject the postmaster address.
+550 Sender verify failed
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+451 Could not complete sender verify callout
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+451 Could not complete sender verify callout
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+451 Could not complete sender verify callout
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaX-0005vi-00
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaY-0005vi-00
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
+
+******** SERVER ********
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@localhost>
+250 OK mail sender
+250 OK recipient
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<bad@localhost>
+250 OK sender
+550 REJECTED rcpt
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@localhost>
+550 REJECT mail from
+530 BAD SEQUENCE no sender accepted for rcpt
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@otherhost>
+250 OK sender
+250 OK rcpt
+RSET
+250 OK reset
+MAIL FROM:<>
+RCPT TO:<postmaster@otherhost>
+250 OK sender
+550 NOT OK rcpt postmaster
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@otherhost2>
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<postmaster@otherhost2>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost3>
+250 OK
+250 OK accepting that random recipient
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost4>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost41>
+250 OK
+550 NOT OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@otherhost41>
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<postmaster@otherhost41>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@otherhost21>
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<postmaster@otherhost21>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok2@otherhost21>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost31>
+250 OK
+550 NOT OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@otherhost31>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<okok@otherhost31>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost31>
+250 OK
+550 NOT OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<okokok@otherhost31>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost51>
+250 OK
+*sleep 2
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<okokok@otherhost52>
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<pmsend@a.domain>
+RCPT TO:<postmaster@otherhost52>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<somesender@a.domain>
+RCPT TO:<abcd@x.y.z>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<abcd@x.y.z>
+250 OK
+*sleep 2
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<>
+RCPT TO:<ok@otherhost9>
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<>
+RCPT TO:<postmaster@otherhost9>
+250 OK
+550 NOT OK
+RCPT TO:<postmaster>
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1224 ...
+Connection request from [127.0.0.1]
+220 Server ready
+EHLO myhost.test.ex
+250-Yeah mate
+250-PIPELINING
+250 OK
+MAIL FROM:<postmaster@myhost.test.ex>
+RCPT TO:<myhost.test.ex-dddddddd-testing@test.ex>
+250 OK
+550 RANDOM IS BAD
+RSET
+250 OK
+MAIL FROM:<postmaster@myhost.test.ex>
+RCPT TO:<z@test.ex>
+250 OK
+250 OK
+RSET
+250 OK
+MAIL FROM:<pmsend@b.domain>
+RCPT TO:<postmaster@test.ex>
+250 OK
+250 OK
+QUIT
+250 OK
+End of script