# SMTP synchronization checks before sending responses need_ipv4 # exim -DSERVER=server -DACL_PREDATA=check_predata -bd -oX PORT_D **** # The pause (+++ 1) in the middle of this is so that there is no pending # input when DATA is received, but we start sending the data itself too # early (the server will be waiting 2 seconds in the predata ACL). # client -t5 127.0.0.1 PORT_D ??? 220 ehlo abcd ??? 250- ??? 250- ??? 250- ??? 250- ??? 250 rset\r\nmail from:\r\nrcpt to:\r\ndata +++ 1 Start: sent early ... ??? 250 ??? 250 ??? 250 ??? 554 **** sleep 1 killdaemon # This time turn off pipelining to check MAIL and RCPT exim -DSERVER=server -DACL_MAIL=check_mail -DACL_RCPT=check_rcpt -DPAH= \ -bd -oX PORT_D **** client -t5 127.0.0.1 PORT_D ??? 220 ehlo abcd ??? 250- ??? 250- ??? 250- ??? 250 mail from: +++ 1 rcpt to: ??? 554 **** client -t5 127.0.0.1 PORT_D ??? 220 ehlo abcd ??? 250- ??? 250- ??? 250- ??? 250 mail from: ??? 250 rcpt to: +++ 1 data ??? 554 **** killdaemon