Part 3: How the SMTP categorizer works in Exchange Server and Active Directory

Learn how the SMTP categorizer, a part of Exchange's message transport engine, performs Active Directory LDAP queries to determine which server contains the recipient's mailbox.

The SMTP categorizer (also called the categorizer) is a part of Exchange Server's message transport engine. Its job is to assist in message delivery.

When someone sends an SMTP email message to your organization, the message is sent to the server referenced by your DNS server's MX record -- regardless of which server actually contains the recipient's mailbox. When the message arrives, Exchange Server has to determine which server houses the recipient's mailbox. This is where the SMTP categorizer comes into play -- it determines which server contains the recipient's mailbox.

The SMTP categorizer is also responsible for:

  • Determining how to route inbound messages across your Exchange Server organization
  • Parsing distribution lists
  • Applying per user limits to inbound email messages

The SMTP categorizer performs LDAP queries against the Active Directory on its own. However, it must first get a little help from DSAccess.

The DSAccess service provides the SMTP categorizer with a list of domain controllers that it can use to perform Active Directory lookups. This improves efficiency by eliminating redundancy. After all, why should the categorizer query Active Directory for a list of domain controllers when the DSAccess service already has a list available?

Acquiring a server list is the only process for which the SMTP categorizer uses DSAccess though. For all other functions, the categorizer performs its own Active Directory LDAP queries.

As I'm sure you know, IIS must be installed on a server before Exchange 2003 can be installed. This is because the SMTP categorizer is built into the IIS SMTP transport stack.

The IIS categorizer is known as the base categorizer. The base categorizer is implemented through the AQUEUE.DLL file. Its job is to use LDAP queries against Active Directory to resolve SMTP message recipient information and to expand distribution lists.

One thing to keep in mind is that the base categorizer is insufficient for Exchange Server's needs. However, because much of Exchange's functionality relies on the base categorizer, it can't completely do away with it.

Instead, Exchange Server uses a file named PHATCAT.DLL to broaden the base categorizer's functionality. This file is known as the Exchange categorizer. Its job is to extend the base categorizer so that it can fully meet Exchange Server's internal needs.

Categorizer-related problems are often mistaken for DNS or network communication problems. If your Exchange Server organization is having mail flow issues, use message tracking to see where the process is breaking down. If messages are stopping at the categorizer, you should begin troubleshooting the problem by looking at directory-access issues.


 Home: Introduction
 Part 1: How the DSAccess service works in Exchange and Active Directory
 Part 2: How the DSProxy service works in Exchange and Active Directory
 Part 3: How the SMTP categorizer works in Exchange and Active Directory


Brien M. Posey, MCSE
Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Exchange Server, and has previously received Microsoft's MVP award for Windows Server and Internet Information Server (IIS). Brien has served as CIO for a nationwide chain of hospitals and was once responsible for the Department of Information Management at Fort Knox. As a freelance technical writer, Brien has written for Microsoft, TechTarget, CNET, ZDNet, MSD2D, Relevant Technologies and other technology companies. You can visit Brien's personal Web site at

Dig Deeper on Exchange Server setup and troubleshooting