Monday, 08 January, 2001
Fighting with Microsoft's SMTP Server
Did I mention that Microsoft's SMTP service is one of the worst pieces of software I've ever had the displeasure to work with? Sure, it's easy to install and use, provided you use it in the recommended configuration and you don't try to do anything out of the ordinary. But if you make a mistake in any of the configuration options, it just stops working. And doesn't tell you why. It'll accept a mail message for forwarding and immediately put it in the BadMail directory, or maybe just make it magically disappear. No error message, no log entry, and nothing in the BadMail file except "Delivery to the following recipient failed." And from the lack of useful information in the Knowledge Base and on the support newsgroups, I'd say that nobody at Microsoft knows anything about the software beyond "you must have configured it incorrectly."
I finally "fixed" the problems by stopping the default virtual SMTP server and creating a new virtual server carefully configured as recommended. That now works flawlessly. Except that there's no way to delete the default virtual server, and no way to permanently stop it: it gets started again when the machine reboots. I don't know what that's going to do to mail that I send. Probably whichever service sees it first gets to handle it. I suspect that the only way I'll fix the problem is to uninstall and then reinstall the SMTP service.
I thought that maybe I could fix the problem with some creative Registry editing. Ha!. Some genius at Microsoft figured that the Registry wasn't a bad enough idea and decided to use a completely new type of binary configuration file (the MetaBase) for the Internet services programs—a file that can't be edited by normal means, and that contains settings that can't be changed by any configuration program. If you don't set it up right the first time, you're stuck. It's a huge stinking mess.
If anybody reading this knows of a replacement SMTP service that will run on my Windows 2000 server, and a corresponding DLL that I can use to send mail from within an ASP page, please let me know. Any software that has this many configuration problems can hardly be trusted to actually work right in a production environment. And I thought configuring Sendmail was difficult.
After poking around a bit and searching Microsoft's site some more, I finally ran across the MetaBase Editor on this page: http://support.microsoft.com/support/kb/articles/Q232/0/68.ASP. You'd think they'd supply the freaking thing with IIS in the first place. Maybe I can use it to solve my SMTP problems. We'll see what tomorrow brings.