Timon Relitzki reported that some systems, for example the Synology
DSM Rackstations, will send an extra space character with their SMTP
commands.
MAIL FROM:<christian@technobabble.dk>
Becomes:
MAIL FROM: <christian@technobabble.dk>
This confused the command parser. In the spirit of the robustness
principle if have choosen to improve the command parse to also handle
these extra spaces.
The command parser has also been extended with some extra unit tests,
to demonstrate the problem.
Handle empty e-mail addresses.
Implemented MaxRecipients check.
Announce PIPELINING support.
Corrected error code on Too Busy error.
Implemented DataTimeout for timeouts on DATA.
Use textproto.DotReader in handleDATA to implement dot-stuffing.
Reset deadlines on old socket in STARTTLS, add new deadlines to new TLS socket.