2 exim -DSERVER=server -bd -oX PORT_D
5 # plain, small message (no body)
6 client 127.0.0.1 PORT_D
15 mail from:someone@some.domain
17 rcpt to:CALLER@test.ex
22 Subject: This is a bodyless test message
30 # plain, small message (with body)
31 # nonlast 1st bdat, noop, last-bdat(0)
32 # immediate followon 2nd message
33 client 127.0.0.1 PORT_D
42 mail from:someone@some.domain
44 rcpt to:CALLER@test.ex
49 Subject: This is a bodyfull test message
58 mail from:someone@some.domain
60 rcpt to:CALLER@test.ex
63 To: Susan@bdat 78 last
67 Subject: This is a bodyless test message
75 # Same again but with RSET between the two
76 client 127.0.0.1 PORT_D
85 mail from:some_ne@some.domain
87 rcpt to:CALLER@test.ex
92 Subject: This is a bodyfull test message
103 mail from:someone@some.domain
105 rcpt to:CALLER@test.ex
108 To: Susan@bdat 78 last
112 Subject: This is a bodyless test message
120 # not enough data in chunk
122 client 127.0.0.1 PORT_D
131 mail from:someone@some.domain
133 rcpt to:CALLER@test.ex
138 Subject: This is a bodyless test message
143 # protocol failure cases
145 client 127.0.0.1 PORT_D
154 mail from:someone@some.domain
156 rcpt to:CALLER@test.ex
161 Subject: This is a bodyless test message
170 # followon EHLO and another message
171 client 127.0.0.1 PORT_D
180 mail from:someone@some.domain
182 rcpt to:CALLER@test.ex
187 Subject: This is a bodyless test message
201 mail from:someone@some.domain
203 rcpt to:CALLER@test.ex
208 Subject: This is a bodyless test message
219 # plain, small message (no body)
221 client 127.0.0.1 PORT_D
230 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
239 # plain, longer message (xple chunks), RCPT rejected
241 client 127.0.0.1 PORT_D
250 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
263 # Two rejected messages, pipielined, RSET between
264 client 127.0.0.1 PORT_D
273 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
275 ??? 550 relay not permitted
276 ??? 503-All RCPT commands were rejected
279 ??? 503-All RCPT commands were rejected
286 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
289 ??? 503-All RCPT commands were rejected
299 # Two messages, pipielined, 1st abandoned midway, RSET between
300 client 127.0.0.1 PORT_D
309 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
312 ??? 250 86 byte chunk received
314 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
317 ??? 250 86 byte chunk received
318 ??? 250- 6 byte chunk, total 93
325 # plain, small message (no body)
326 # header line with bad line-ending
327 client 127.0.0.1 PORT_D
336 mail from:someone@some.domain
338 rcpt to:CALLER@test.ex
341 >>> To: Susan@random.com\n
343 Subject: This is a Bodyless test message
350 # plain, small message (body w/o lineend)
351 client 127.0.0.1 PORT_D
360 mail from:someone@some.domain
362 rcpt to:CALLER@test.ex
367 Subject: This is a bodyfull test message
376 # Test for smtp-smuggling. Accepting only one message is good; two is bad.
377 client 127.0.0.1 PORT_D
386 MAIL FROM:<legit@some.domain>
388 RCPT TO:<CALLER@test.ex>
392 Subject: test of smuggled smtp
394 This is body for initial message
395 The next line is a bogus end-of-data attempt, followed by a try at a smuggled message:
397 mail from:<smuggler@y>
398 rcpt to:<CALLER@test.ex>
400 Subject: send me all your money!
402 All your base are belong to us. Send Bitcoins.