exim -DSERVER=server -bd -oX PORT_D
****
#
+# plain, small message (no body)
client 127.0.0.1 PORT_D
??? 220
ehlo tester
??? 250-
-??? 250-
-??? 250-
-??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
??? 250-CHUNKING
??? 250 HELP
mail from:someone@some.domain
??? 250
-rcpt to:CALLER@HOSTNAME
+rcpt to:CALLER@test.ex
??? 250
bdat 88 last
To: Susan@random.com
??? 221
****
#
+# plain, small message (with body)
+# nonlast 1st bdat, noop, last-bdat(0)
+# immediate followon 2nd message
client 127.0.0.1 PORT_D
??? 220
ehlo tester
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
+mail from:someone@some.domain
+??? 250
+rcpt to:CALLER@test.ex
+??? 250
+bdat 100
+To: Susan@random.com
+From: Sam@random.com
+Subject: This is a bodyfull test message
+
+1234567890
+??? 250
+noop
+??? 250
+bdat 0 last
+??? 250-
+??? 250
mail from:someone@some.domain
??? 250
-rcpt to:CALLER@HOSTNAME
+rcpt to:CALLER@test.ex
+??? 250
+bdat 10
+To: Susan@bdat 78 last
+??? 250
+random.com
+From: Sam@random.com
+Subject: This is a bodyless test message
+
+??? 250-
+??? 250
+quit
+??? 221
+****
+#
+# Same again but with RSET between the two
+client 127.0.0.1 PORT_D
+??? 220
+ehlo tester
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250-
+??? 250
+mail from:some_ne@some.domain
+??? 250
+rcpt to:CALLER@test.ex
??? 250
bdat 100
To: Susan@random.com
bdat 0 last
??? 250-
??? 250
+RSET
+??? 250
mail from:someone@some.domain
??? 250
-rcpt to:CALLER@HOSTNAME
+rcpt to:CALLER@test.ex
??? 250
bdat 10
To: Susan@bdat 78 last
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
-rcpt to:CALLER@HOSTNAME
+rcpt to:CALLER@test.ex
??? 250
bdat 89 last
To: Susan@random.com
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
-rcpt to:CALLER@HOSTNAME
+rcpt to:CALLER@test.ex
??? 250
bdat 88
To: Susan@random.com
??? 221
****
#
+# followon EHLO and another message
client 127.0.0.1 PORT_D
??? 220
ehlo tester
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
-rcpt to:CALLER@HOSTNAME
+rcpt to:CALLER@test.ex
??? 250
bdat 88
To: Susan@random.com
??? 250-
??? 250-
??? 250-
-??? 250
+??? 250
mail from:someone@some.domain
??? 250
-rcpt to:CALLER@HOSTNAME
+rcpt to:CALLER@test.ex
??? 250
bdat 88
To: Susan@random.com
??? 221
****
#
+# plain, small message (no body)
+# pipelined
+client 127.0.0.1 PORT_D
+??? 220
+EHLO tester
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+MAIL FROM:<someone@some.domain>\r\nRCPT TO:<CALLER@test.ex>\r\nBDAT 88 LAST\r\nTo: Susan@random.com\r\nFrom: Sam@random.com\r\nSubject: This is a bodyless test message\r\n
+??? 250
+??? 250
+??? 250-
+??? 250
+quit
+??? 221
+****
+#
+# plain, longer message (xple chunks), RCPT rejected
+# pipelined
+client 127.0.0.1 PORT_D
+??? 220
+EHLO tester
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+MAIL FROM:<someone@some.domain>\r\nRCPT TO:<dummy@reject.ex>\r\nBDAT 86\r\nTo: Susan@random.com\r\nFrom: Sal@random.com\r\nSubject: This is a bodyless test message\r\nBDAT 6 LAST\r\nZZ\r\n
+??? 250
+??? 550
+??? 503-
+??? 503-
+??? 503
+??? 503-
+??? 503-
+??? 503
+quit
+??? 221
+****
+#
+# Two rejected messages, pipielined, RSET between
+client 127.0.0.1 PORT_D
+??? 220
+EHLO tester
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+MAIL FROM:<some3ne@some.domain>\r\nRCPT TO:<dummy@reject.ex>\r\nBDAT 86\r\nTo: Susan@random.com\r\nFrom: Sal@random.com\r\nSubject: This is a bodyless test message\r\nBDAT 6 LAST\r\nZZ\r\n
+??? 250
+??? 550 relay not permitted
+??? 503-All RCPT commands were rejected
+??? 503-
+??? 503
+??? 503-All RCPT commands were rejected
+??? 503-
+??? 503
+RSET
+??? 250
+NOOP
+??? 250
+MAIL FROM:<some4ne@some.domain>\r\nRCPT TO:<dummy@reject.ex>\r\nBDAT 86\r\nTo: Susan@random.com\r\nFrom: Sal@random.com\r\nSubject: This is a bodyless test message\r\nBDAT 6 LAST\r\nZZ\r\n
+??? 250
+??? 550
+??? 503-All RCPT commands were rejected
+??? 503-
+??? 503
+??? 503-
+??? 503-
+??? 503
+quit
+??? 221
+****
+#
+# Two messages, pipielined, 1st abandoned midway, RSET between
+client 127.0.0.1 PORT_D
+??? 220
+EHLO tester
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+MAIL FROM:<some5ne@some.domain>\r\nRCPT TO:<CALLER@test.ex>\r\nBDAT 86\r\nTo: Susan@random.com\r\nFrom: Sa5@random.com\r\nSubject: This is a bodyless test message\r\nRSET
+??? 250 OK
+??? 250 Accepted
+??? 250 86 byte chunk received
+??? 250 Reset OK
+MAIL FROM:<some6ne@some.domain>\r\nRCPT TO:<CALLER@test.ex>\r\nBDAT 86\r\nTo: Susan@random.com\r\nFrom: Sa6@random.com\r\nSubject: This is a bodyless test message\r\nBDAT 6 LAST\r\nZZ\r\n
+??? 250 OK
+??? 250 Accepted
+??? 250 86 byte chunk received
+??? 250- 6 byte chunk, total 93
+??? 250 OK
+QUIT
+??? 221
+****
+#
+#
+# plain, small message (no body)
+# header line with bad line-ending
+client 127.0.0.1 PORT_D
+??? 220
+ehlo tester
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+mail from:someone@some.domain
+??? 250
+rcpt to:CALLER@test.ex
+??? 250
+bdat 87 last
+>>> To: Susan@random.com\n
+From: Sam@random.com
+Subject: This is a Bodyless test message
+
+??? 552
+quit
+??? 221
+****
+#
+# plain, small message (body w/o lineend)
+client 127.0.0.1 PORT_D
+??? 220
+ehlo tester
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+mail from:someone@some.domain
+??? 250
+rcpt to:CALLER@test.ex
+??? 250
+bdat 98 last
+To: Susan@random.com
+From: Sam@random.com
+Subject: This is a bodyfull test message
+
+>>> 1234567890
+??? 250-
+??? 250
+quit
+??? 221
+****
+#
+# Test for smtp-smuggling. Accepting only one message is good; two is bad.
+client 127.0.0.1 PORT_D
+??? 220
+ehlo smuggler
+??? 250-
+??? 250-SIZE
+??? 250-8BITMIME
+??? 250-PIPELINING
+??? 250-CHUNKING
+??? 250 HELP
+MAIL FROM:<legit@some.domain>
+??? 250
+RCPT TO:<CALLER@test.ex>
+??? 250
+DATA
+??? 354
+Subject: test of smuggled smtp
+
+This is body for initial message
+The next line is a bogus end-of-data attempt, followed by a try at a smuggled message:
+>>> .\n
+mail from:<smuggler@y>
+rcpt to:<CALLER@test.ex>
+bdat 86 last
+Subject: send me all your money!
+
+All your base are belong to us. Send Bitcoins.
+QUIT
+.
+??? 250
+QUIT
+??? 221
+****
+#
killdaemon
no_msglog_check