Add catch-all functionality back into Exchange Server 2007

Add catch-all functionality back into Exchange Server 2007

Serdar Yegulalp, Contributor
Exchange Server 2007 is missing native support for catch-all functionality,which redirects messages sent to nonexistent recipients to valid addresses. This ensures that a message won't be lost; it will bounce to another mailbox so an actual user can to decide who should receive the message.

At CodePlex, Microsoft's open-source project site, wilbertdg decided to implement this missing functionality for Exchange 2007 in the form of a transport protocol agent called the CatchAllAgent. This agent is written in C# with source

    Requires Free Membership to View

    When you register, you’ll also receive targeted alerts from my team of editorial writers and independent industry experts with the latest news, tips, and advice to help you do your job more efficiently and effectively. Our goal is to keep you informed on the hottest topics and biggest challenges faced by Exchange professionals today working with Exchange, Outlook and other related technologies.

    Margie Semilof, Editorial Director

    By submitting your registration information to SearchExchange.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchExchange.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

Premium Access

Register now for unlimited access to our premium content across our network of over 70 information Technology web sites.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

This was first published in May 2010

code included; it's licensed under the terms of the Microsoft Public License.

The agent consists of two components -- a .dll file (dynamic link library) and a config.xml file. To set up the CatchAllAgent, you need to copy both of these files into one folder on the Exchange 2007 server you use as an Internet-facing server, typically either an edge server or hub transport server.

The exact location of the server doesn't matter as long as there are no permissions problems with its directory. If you already have a common location for these types of agents, then use that.

Edit the config.xml file to add a list of domain names and catch-all addresses for that domain. You may find an example of this in the documentation for the program or included as a header in the source code. This is a great example of source as documentation. Finally, use the install-transportagent and enable-transportagent tasks to add the agent to Exchange and run it.

During installation, make sure that the CatchAllAgent has a lower priority than the Recipient Filtering agent. You can find details for doing this in the instructions; if you have other agents installed in the stack, you should think about whether or not the priorities should be higher or lower than the CatchAllAgent. It's good practice to start provisionally with CatchAllAgent at the bottom of the stack and see if other third-party agents should be placed above it or below it.

Any changes you make to the config.xml file will be detected automatically, so there's no need to stop and restart anything -- even if you have to add bulk domains into the configuration file. The documentation states that the agent will ignore any changes that invalidate the config.xml file. For example, the agent will choose to run a loaded configuration instead of not running at all.

A configuration code snippet is also included that you can add to the configuration file for EdgeTransport.exe to provide diagnostic trace logging for the component. This provides detailed debugging information in case the code isn't functioning properly.

ABOUT THE AUTHOR
Serdar Yegulalp has been writing about computers and information technology for more than 15 years for a variety of publications, including InformationWeek and Windows Magazine.

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.