Why can’t this website send emails through Exchange 2010

emailexchange-2010exchange-migration

There are 2 websites running on 2 different servers. Both websites send emails out to internal and external addresses. When the websites were using Exchange 2003, they both worked fine. The client then migrated from Exchange 2003 to Exchange 2010. Now only one of the websites is still able to send out emails. The other one keeps failing with the error

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Client was not authenticated

The failing website is passing the credentials through just fine and it uses the same code as the working website. Even when I switch the failing website to use the working websites email login it fails with the same error. The working website does not use SSL, and it still works. The SMTP server shouldn't require a secure connection.

I have a windows application I use for testing email sending. From the failing webserver the application is able to use both sets of logins to send emails just fine. It only seems to be sending through the website that it fails with this error.

I am not that familiar with Exchange servers and I don't have direct access to the Exchange server, so is there anything that should be checked that would cause the second webserver to be unable to send emails through a website, but able to send through a windows application?

Best Answer

(I'm basing this on Exchange 2007, so apologies if it has changed significantly, I haven't looked at 2010).

  • In Exchange System Manager, pull up Server Configuration -> Hub Transport -> Receive Connectors Tab.
  • Check the Authentication tab. There's a few settings there that deal with the types of auth the server requires.

For testing, set up a new receive connector on a different port to experiment with the settings. Make the failing server use that, instead.

And + 1 to Evan for Wireshark. If you're not using SSL, you can watch the entire SMTP conversation between the web app and the receive connector. It's the best way of finding where the too are diverging in their behaviour.