A common request from my IT admin guys is how they deal with the failure of outbound emails. This will generally cause the phone to get hot very quickly and can also replicate to issues with the server itself. I always say try and keep an eye on queues as you can easily spot the problem, you can also use the monitoring tools within Exchange as well and get early warning but sometimes you’ll find they can issue false readings.
What we need to do is a bit of research; investigate into why mail queues are building.
There several bits of info you can gather to help you troubleshoot.
(NDR) Non Delivery Reports – These are very important as it will reveal the SMTP diagnostic code. If you have a user hassling you over the phone ask for the code then you can see the server error and find the problem.
Message Tracking Logs – Microsoft Exchange can track a message very well; it can tell you what it did with the message. This needs to be enabled, but run it all the time as the overhead is very low.SMTPDIAG Tool – SMTPDiag issues DNS queries using both UDP and TCP to validate the queries will succeed.
SMTP Logs – The logs that the SMTP server creates are not that good and may be limited but they can show if the connection was made. To enable RIGHT CLICK SMTP Virtual Server>PROPERTIES>GENERAL tab>PLACE a tick in ENABLE LOGGING
Store.exe is the last point for emails delivered to a server and it’s the beginning for e-mails sent from outlook clients (MAPI) clients Outlook 2003 which connects directly to Exchange (MSExchangeIS)
There is also something called EXIPC which stands for Exchange Interprocess Communication which handles data transferred between IIS and the Exchange server info store. It’s a layered service in-between the components to help provide best performance. You can find more information on EXIPC and ISS integration here
Queuing Engine or AQE (Advanced Queuing Engine) this baby is responsible creating and managing message queues for delivery. The AQE receives a mailmsg object, this then gets forwarded to the Categorizer, message Categorizer that is and then the AQE queues the message for delivery but this will be based on routing information provided by the routing engine process of Exchange.
The Exchange Routing Engine is a service which is responsible for determining the least expensive available path for message delivery; it will talk and provide this information across to the AQE as part of the message delivery process.
You will remember in my first topic I spoke of SMTP being extended through the installation of Exchange well one of these extensions is XLINKSTATE protocol. The Routing engine creates and maintains the link state for every exchange server, it will also route messages around both internally and externally.
Last but not least there’s the SMTP service. This service processes incoming traffic from SMTP hosts; and it’s also used in communications between Exchange servers. It can also be used for message journaling.
Understanding how this works is important, so here is the information with a bit more detail.
The MAPI client sends the message to the remote client.
The information store receives the message
The new MailMsg object is sent on forward to the AQE
The Message categorizer from the AQE processes the MailMsg object and splits it into MIME or RTF.
The Message Categorizer then looks at groups and checks any defined Message limits that have been set on exchange.
Then the MailMsg object is the transferred to the Remote Destination Domain within the AQE
The AQE Passes the final address to the Exchange routing engine
SMTP from sending server initiates an SMTP session with the remote receiving server. Once the connection is made on the remote server, the remote information store retrieves the body of the message and converts as necessary.
SMTP sends the message out of the queue to the correct host.
OK we are done, but this is only the BASICS detailed flow information from Microsoft can be found here and worth a read.
SMTP and Exchange Server 2003.
I’m going to start with something simple, but its something I find that many administrators often get confused about, “message flow” especially in Exchange. Later I’ll pass on some tips on troubleshooting message flow but for now lets have a look at SMTP the core fundamentals of messaging. Without SMTP nothing will happen and i want to explain the connection between SMTP and exchange. For the record my reference in this post is against Exchange Server 2003.
Lets start at the configuration side of things:
Before you set up your Exchange server to send/receive mail, you should understand how SMTP (Simple Mail Transfer Protocol ) enables messages to flow. Exchange uses SMTP to deliver mail both internally and externally. If you hadn’t guessed SMTP is the standard throughout the internet for moving mail and if you are really keen check out RFC 2821 and 2822 for really detailed stuff on SMTP.
Windows SMTP is a component of Internet Information Services. Exchange server needs the SMTP service as its native transport protocol, so if you hadn’t guessed Exchange uses SMTP to move all mail both internal and externally. BUT when Exchange server is installed it extends the SMTP functionality and here’s how. The management of the SMTP service is moved from IIS console to ESM (Exchange System Manager) This is done by means of virtual servers.
It also implements support for link state information. Link state is used to determine the best way for sending messages between servers. This is based on connectivity, current status and of course cost. It also looks at your topology and associated expense based on route, pretty good hey?
There’s more -
Setting up an Exchange Installable File System (IFS) store driver to allow message retrieval from and delivery to the Exchange store.
Setting the disk location where messages are queued
Implementing support for advanced queuing.
Enhancing message categorization
There’s also some extended support to command verbs (used for link state routing and other Exchange functions)
I think the other thing to remember as well is the connection Exchange has with Active Directory and the IIS metabase. With ESM any changes made are written to AD allowing for easy administration
Recap: SMTP is part of IIS, Exchange extends its functionalility.
SMTP virtual servers are the Exchange mechanisms for controlling/managing SMTP. Each virtual server represents an instance of the SMTP service running on Exchange, remember this when creating several as it will effect performance. Microsoft say its a common misunderstanding that many SMTP virtual servers increase throughput, they don’t I’ve tried it, one instance is enough.
In the next part we’ll talk about sending and receiving emails, whats required for this to work?
Welcome to Exchange Me!.
I’m going to be blogging about everything Exchange. The basics, the nuts and bolts, performance tweaks, the extras, the problems and more. Message flow today is an important part of our lives, can you imagine if you didn’t have email, no way!
So HELO from me and lets get started.