Microsoft KB Archive/251581

From BetaArchive Wiki
Knowledge Base

XCON: Telnet Allows Multiple HELO/EHLO Commands

Article ID: 251581

Article Last Modified on 2/26/2007


  • Microsoft Exchange 2000 Server Standard Edition

This article was previously published under Q251581


When you are using the TCP/IP Telnet utility to connect to port 25 of the Microsoft Exchange 2000 Server computer, you can issue the HELO/EHLO command out of sequence and multiple times without resetting the connection. The Telnet message finishes and is delivered successfully.

Sample Telnet session with multiple HELO commands:

220 Microsoft ESMTP service
250 Hello [IP address]
250 2.1.0 OK
250 Hello [IP address]
250 2.1.5


This behavior is by design.


According to Request for Comments (RFC) 1651 Sect 4.1:

This command is issued instead of the HELO command, and may be issued at any time that a HELO command would be appropriate. That is, if the EHLO command is issued, and a successful response is returned, then a subsequent HELO or EHLO command will result in the server SMTP replying with code 503. A client SMTP must not cache any information returned if the EHLO command succeeds. That is, a client SMTP must issue the EHLO command at the start of each SMTP session if information about extended facilities is needed.

However, an EHLO command may be issued by a client later in the session. If it is issued after the session begins, the SMTP server must clear all buffers and reset the state exactly as if a RSET command had been issued. In other words, the sequence of RSET followed immediately by EHLO is redundant, but not harmful other than in the performance cost of executing unnecessary commands.

Keywords: kbnofix kbprb KB251581