09 Aug in 2010, outlook, smtp

As you may have read from my previous message, I'm having a problem sending basic e-mail over SMTP from Outlook 2010 to Exchange 2010. The problem doesn't, however, appear to be anything to do with Exchange after all, but a problem within Outlook.

During the course of trying to fix this problem, I tried sending from Outlook 2010 to a few different SMTP servers. The behavior appears to be the same - failure.

By using tcpdump on an internal Linux box I managed to sniff the traffic and see what's going on. In a nutshell:

Outlook > EHLO ######
Server > [returns capabilities ok]
Outlook > MAIL FROM: <#####@####.###>
Server > 250 Ok
Outlook > RCPT TO: <#####@####.###>
Server > 250 Ok
Outlook > DATA
Server > 354 End data with .
Outlook > RSET

Now at this point the connection sits there silent until Outlook times out and disconnects. What's happening is that after Outlook sends DATA, the server replies with the 354 message then Outlook is supposed to send the full message finishing with a period on a single line. However, Outlook is instead sending an RSET message. Of course, the server is expecting the email message so carries on waiting for this.

So how... how on earth can Outlook get this so wrong? Wish I knew! Bizarrely, this didn't start happening until I upgraded to Exchange 2010, so I'm not sure if something there has messed with Outlook. Similarly, if I put Outlook in Cached mode everything works fine - this is a setting that should be totally unrelated to sending a message via SMTP to/from a totally different account.

there seems to be some other people talking about this on the MS forums, but no response or fix from MS as yet.

All content © 2009-2011 Matthew Butt. All views expressed herein are my own and do not represent the views of my employer, AREA203 Digital.