Tuesday, February 15, 2005

The making of SmtpDiag

While its been almost two years since I worked on SmtpDiag, its always gratifying to see that the work you've done is actually helping customers. For those that are interested, here's a little more background on the tool.

Last summer one of my teammates, Matt Kuzior, took over my work in progress and finished the last of the work to get SmtpDiag ready for web release. If it wasn't for Matt, the tool may never had made it into the public domain, as it had been prioritized so low on my list that I probably would never had gotten to it. So if you ever run across Matt, make sure you thank him.

SmtpDiag shipped as part of the Exchange 2003 Web Release 1.1 last fall. The tool itself is fairly simple. In essence it automates the steps set out in several KB articles used to diagnose outbound SMTP/DNS issues for both Exchange and IIS SMTP.

One of the reasons I created the tool, is that while the KB's were useful for those that had a lot of experience with DNS and SMTP, they tended to cause more questions for those that weren't familiar with these protocols. In addition the KB articles didn't go into details as to other issues with DNS that could cause random failures.

For Inbound issues, it was easy to point customers to www.checkdns.net or www.dnsreport.net. Both sites provide detailed information on a domains DNS records as well as providing warnings and failures. Though as stated earlier, for outbound issues, customers only had KB articles that pointed to tools such as telnet and nslookup that were less then customer friendly.

The tool started as a side project (as most tools do) for myself to brush up on my C++ as well as get more familiar with the Windows DNS api. The original purpose was to create a library that I could reuse in several different internal tools used to automate testing of our products. As time went on though, I realized that with a little bit of work I could leverage my work to create a simple command line tool that automated KB203204. Once that was done, I started adding similar checks found on CheckDNS and DnsReport. The final step was to add support to check SMTP to replace Q153119.

Unfortunately that was not the end of the process for me. Since this was the first tool I had written for public release, I had no idea that there were localization requirements. In October of 2003 the tool was checked into our source depot where it sat for 6 months untouched. During those 6 months the priority of changing strings into resources, supporting Unicode, and all else that goes along with localization fell far below work on Titanium, Service packs, new automation, etc.

In July of 04, Matt was looking for a side project to work on to brush up on his C++, so I offered up SmtpDiag and gave him the 2 month timeline for WR1.1. Matt then spent the next two months localizing, fixing bugs, and then finally delivering the finished product in the WebRelease.

5 Comments:

At 7:21 PM, April 26, 2006, Anonymous Anonymous said...

I found smtpdiag while trying to troubleshoot a problem sending mail to one person from one domain. While the tool seems to delivery a good deal of information, I find it troubling that there is precious little information about how to resolve the problems that are found. Case in point, I received an error 10053 and the only thing I've been able to find is "Check your DNS". Check it for what? I have found no problems with my dns but I still can't send to this one person.

 
At 7:57 PM, April 26, 2006, Anonymous Anonymous said...

You can lookup windows errors from a command window using "net helpmsg error#". In your case its:

net helpmsg 10053

An established connection was aborted by the software in your host machine.

This indicates that the connection was dropped, possibly by a firewall. You can also try using NSLookup instead.

 
At 9:21 AM, September 15, 2006, Anonymous Anonymous said...

I found smtpdiag mentioned in a web search. I was working on my first install of Exchange Server and I could not get an smtp connection when I sent a test message. With smtpdiag, I was able to pinpoint very quickly that the problem was AOL not my smtp setup.
THANK YOU!

 
At 1:05 PM, September 14, 2007, Anonymous Anonymous said...

Smtpdiag is excellent. Simple, lean, informative in the extreme. Many, many thanks!

 
At 6:34 AM, February 18, 2008, Blogger Scott said...

Can you add reverse DNS lookup and Spam Blacklist(s) check to this programs features? If not, I'd be willing to add those features for free if you'll supply me your source code.

 

Post a Comment

<< Home