I can't see how this can be worse than just expecting the standard line
terminators all the time -
The altnerative that works better is to provide an option that lets you
unconditionally accept bare CR or LF as a terminator. Basing the decision on
what's used in commands offered no advantage over insisting on CRLF when I
tried it.
I've just this minute seen a bad SMTP server response which makes me wonder
about all this...
I send a remote MTA a 'EHLO my.server.com' command and it responds with:
250-OK<CR><CR><LF>
250-SIZE 3072000<CR><CR><LF>
250 8BITMIME<CR><LF>
Unsurprisingly this upsets things as <CR><CR><LF> isn't a line terminator
our MTA recognises at the moment... (It sees <CR><CR> and says 'oh, this is
an MTA which uses bare <CR>s as line terminators, so it has a blank line in
the response). It's not consistent even then, because normal responses use
<CR><LF> it only seems to be the multiline responses which use <CR><CR><LF>
(The remote MTA is at mail.commerceqld.com.au if anyone wants to look..)
I wonder how much time 'good' MTA developers put in around the world to be
able to handle all the situations caused by 'bad' MTA developers..
Paul VPOP3 - Internet Email Server/Gateway
paul(_at_)pscs(_dot_)co(_dot_)uk http://www.pscs.co.uk/