Quoting Section 4.7 of RFC 1869 (obsoleted by RFC 2821):
Other improperly-implemented servers will not accept a HELO command
after EHLO has been sent and rejected. In some cases, this problem
can be worked around by sending a RSET after the failure response to
EHLO, then sending the HELO. Clients that do this should be aware
that many implementations will return a failure code (e.g., 503 Bad
sequence of commands) in response to the RSET. This code can be
That's the historical context.
Don't you think this is important information to "keep" or bring back in
some form into 2821bis? It explains everything.
Or did the system, blame game work? I was able to show the big brand
name $$$$ AVS appliance vendor the "errors of their ways" using 2821
only and they made the change/fix.
Hector Santos, CTO