Exchange 200x Catchall Script, Version 2
Originally published December 28, 2005
(Note November 13, 2007: this works with Exchange 2000 and Exchange 2003; but not Exchange 2007 and above.)
I've been promising an update to my Exchange Catchall script, since almost the week it was first released.
The number one request has always been for it to handle more domains (the original version only handled two, and changing it to handle more was beyond the scripting skills of most folks).
The second most common request was to allow multiple copies of the script to run (usually because of the number one request). While that can be done by using multiple SMTP virtual servers, I don't recommend it. With this update, it shouldn't ever be necessary.
Philosophically, the days of catchall mailboxes are probably numbered. Many messaging experts recommend against them. Once a domain is targeted, a directory harvesting attack can cause catchall mailboxes to get slammed with thousands of messages in a very short period of time. Many mail systems now return an error, or drop the SMTP connection, or refuse connections from SMTP servers that send email to invalid addresses. (Exchange could be fairly easily extended to do those things, but it would require a protocol sink, not an event sink.)
However, many folks still want a catchall mailbox. Most mail servers other than Exchange support them in the base product. This is a nice simple implementation of one and this version supports an arbitrary number of domains.
The original version was tested on both Exchange 2000 Server and Exchange Server 2003. I no longer have an Exchange 2000 Server to test on, but none of the interface layer changed in this update, so the new version should still work on both versions of Exchange.
You can download the Exchange 200x Catchall Script, Version 2, here.
I am not aware of any other free tool that performs this function for multiple domains (Mailbasket Lite from http://turbogeeks.com will do it for a single domain).