I noticed this problem after upgrading an Exchange server from 2000 to 2003. Only mail sent to external exchange servers was affected. In highlighting the solution, it is helpful to outline the process that occurs when an Exchange Server 2003 or Exchange 2000 Server-based server tries to send mail to a host over the Internet.
1. It performs the equivalent of an Nslookup for the MX (mail exchanger) record of the remote domain.
2. It opens a TCP/IP connection to port 25 of the remote host.
3. It receives a banner from the remote host.
4. It sends an EHLO command followed by the local domain name to the remote host.
5. It receives a list of supported commands from the remote host.
6. It sends a MAIL FROM command followed by the e-mail address of the sender.
7. It receives an acknowledgement from the remote host.
8. It sends one or more RCPT TO commands followed by one or more recipient e-mail address.
9. It receives one of the following acknowledgements:
- One acknowledgement after a batch of RCPT TO commands if the remote host supports PIPELINING.
- One acknowledgement for each recipient.
10. If the remote host advertised support for the XEXCH50 command, the Exchange server sends the XEXCH50 command followed by the number of bytes that it intends to transfer, and then the numeral 2. For example, the following command indicates that the Exchange server intends to send 1124 bytes of data: XEXCH50 1124 2
11. It receives a 354 message from the remote host permitting it to send the data.
12. The Exchange server sends the number of bytes of data that it specified in step 10 of this process.
13. When the data has been sent, the Exchange server expects the remote host to immediately respond with an acknowledgement. If there is no more mail to send, the Exchange server sends a QUIT command.
14. The Exchange server receives an acknowledgement of the QUIT command from the remote host.
15. The Exchange server ends the session.
In this case, the remote host is an exchange server who advertises support for the XEXCH50 command and responded to the SMTP command "xexch50" with "504 Need to authenticate first". By Configuring the XEXCH50 registry subkey, we can suppress the sending of the XEXCH50 command to external domains and resolve the problem. To do so, follow these steps:
1. Click Run, type regedit in the Open box, and then click OK.
2. Locate the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMTPSVC\XEXCH50
Note If the XEXCH50 registry subkey is not present, create it. To do this, point to New on the Edit menu, and then click Key. In the New Key #1 box, type XEXCH50, and then press ENTER.
3. Right-click XEXCH50, point to New, and then click DWORD Value.
4. In the New Value #1 box, type SuppressExternal, and then press ENTER.
5. Right-click SuppressExternal, and then click Modify.
6. In the Value data box, type 1, and then click OK.
7. Quit Registry Editor.
This information is pretty much a rehash of information found in ME818222