EHLO (Extended Hello) messages are sent by Microsoft Exchange 5.5 and 2000 by default when starting an ESMTP conversation with another server. There are a few, although not many, servers that cannot handle ESMTP for inbound messages and can only accept mail sent via standard SMTP. A server that cannot handle EHLO will generally respond with a 550 error message with the descriptor "Unknown command" when the EHLO is sent.
If you are administering an Exchange server and you find that you cannot send mail to a given domain because of this problem, it is possible to set Exchange to send mail using HELO (standard SMTP) rather then EHLO (ESMTP).
To disable EHLO and re-enable global HELO, follow these steps:
For Exchange 5.5:
- In the Registry, find HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchange\IMCParameters and add the REG_DWORD value DisableOutboundESMTP. Set it to 1.
- Close the Registry Editor and restart the Internet Mail Service.
For Exchange 2000:
- Create a new SMTP connector.
- In Exchange System Manager, right-click on the new SMTP connector and select Properties | Advanced.
- Select "Send HELO Instead Of EHLO".
- Click OK.
On the whole, however, this should not be viewed as a permanent solution, since a mail server that cannot gracefully reject an EHLO message is either misconfigured or out of date. If you are experiencing problems with one specific mail server, contact the administrator of the server and learn what you can about their configuration.
There may also be another problem between your server and theirs. For instance, Cisco PIX devices with MailGuard enabled can also create problems with ESMTP; see my tip "What To Do About Multiple Copies of Inbound Email (Exchange 5.5 / 2000)". The solution to this problem is to upgrade the Cisco device with the latest version of PIX to fix Cisco bug # CSCds90792.
Serdar Yegulalp is the editor of the Windows 2000 Power Users Newsletter.