Intelligent Message Filter, Content Filter, can do more...

WinDeveloper IMF Tune
WinDeveloper IMF Tune

Understanding MailTips Architecture

Amit Tank [MVP – Exchange Server]

Amit Tank [MVP – Exchange Server] Photo

Amit Tank is an MVP in Exchange Server and Microsoft Certified Professional in MCITP, MCTS, MCSA and MCP. He has more than 6 years of experience in IT industry.

Cast your Vote
Poor Excellent

Exchange Server 2010 is the first messaging server that delivers MailTips, a great feature that minimizes information overload and notifies users before sending potentially damaging emails.

Even before hitting the market Exchange 2010 started receiving awards. On Information Overload Day, Basex awarded a Basex Excellence Award to Exchange Server 2010 in acknowledgement of the significant contributions it is delivering to minimize information overload with features like MailTips and Ignore Conversation.

MailTips help reducing information overloading through advance notification on recipient status and on potential problems that may arise if the email were to be sent. In other words it prevents productivity loss, reduces helpdesk calls and also reduces the risk of accidentally disclosing information outside the organization.

In Overview of MailTips in Exchange 2010 Kenneth Spiteri gives a good introduction to MailTips. Today we continue discussing this technology looking deeper into the MailTips architecture.

So let's start exploring how MailTips work.

How MailTips Work

MailTips are constructed with the help of Exchange Web Services running on Client Access Servers. When a user starts drafting an email in Outlook 2010 or Outlook Web Apps and adds a recipient, a web service request is issued to the Client Access Server to retrieve the MailTips information that applies to the email.

Client software keeps MailTips data cached for 24 hours. However information like Automatic Replies and Mailbox Full MailTips require more frequent updating. Thus these are only cached for 2 hours.

The following is the MailTips generation process flow:

MailTips Processing

  1. Client software sends a request to the Web service running at a Client Access Server.

  2. The Client Access server collects MailTip data in the following manner:

    2.1 Collects information from Active Directory using LDAP queries and reads Group Metrics data.

    2.2 Verifies the location of the recipient mailbox.

    2.2.1 If the recipient's mailbox is located at a local Mailbox server, the Client Access server gathers Automatic Replies and Mailbox Full information through direct RPC requests to the Mailbox server.

    2.2.2 If the recipient's mailbox is located at another site, the Client Access server forwards the MailTips web requests to the Client Access server at the remote site.

    2.2.3 Remote Client Access server gathers Automatic Replies and Mailbox Full MailTips using RPC.

    2.2.4 Remote Client Access server proxies back the results to the local Client Access server.

  3. Client Access server returns MailTip result to the email client.

Normally MailTips data are gathered from three different sources summarized below.

Location MailTips
Client Software

Restricted Attachment Type

Reply to BCCed email

Mailbox Database

Mailbox Full

Automatic Reply or OOF

Active Directory

Invalid Recipient

Message Delivery Restriction

Moderated Recipient

Maximum Receive Size

Custom MailTips

Large Audience (through Group Metrics)

External Recipient Count (through Group Metrics)

The Offline Address Book structure was also expanded to store the MailTips data gathered from Active Directory so it can be used by outlook when offline.

Group Metrics

If a Client Access Server were to count the total number of members and external recipients of a static or dynamic distribution group for each MailTip request, the performance impact would be significant. To overcome this potential problem, Group Metrics collect the group member and external recipient statistics of all static and dynamic distribution groups.

By default, the designated Mailbox server that generates the offline address book (OAB) in the organization also collects the Group Metrics data. This is the job of the "Microsoft Exchange Service Host" service. The metrics are then stored to disk under:
<Exchange dir.>\GroupMetrics

Group Metrics Directory

This GroupMetrics directory on the Mailbox server is shared. Thus the data can be distributed to the Client Access Servers using the Microsoft Exchange File Distribution Service every eight hours.

Sharing Group Metrics for Distribution

The Group Metrics directory contains the following files.

GroupMetrics-< date in YYYY-MM-DD format >T< GMT time HH-MM-SS format>.bin - This is the main binary data file and contains membership metrics for all static and dynamic distribution groups of the organization.

GroupMetrics-< servername >.xml - Microsoft Exchange File Distribution Service uses this file to gather information about the binary files that need to be distributed to Client Access Servers.

Group Metrics XML

ChangedGroups.txt - This file contains the list of groups that were updated since the last Group Metrics data was gathered.

Full Group Metrics data for all static and dynamic distribution groups is generated every Sunday. This schedule is fixed and cannot be modified. Daily incremental updates will then keep the metrics updated with any changes. These updates are gathered once within two hours of midnight. We can configure the schedule time for incremental updates with the cmdlet:

Set-MailboxServer "MailboxServerName" -GroupMetricsGenerationTime 19:00

On updating the Group Metrics the following event will be logged:

Source:        MSExchange MailTips
Date:          11/11/2009 10:54:43 PM
Event ID:      14024
Task Category: MailTips
Level:         Information
Computer:      Ess-Exch.ExchangeShare.net
Description:
Group metrics updated.
Elapsed time: 00:00:02.6718750

Important Considerations on Group Metrics

There exist some scenarios where Group Metrics data is not collected by default. In these cases manual configuration is required at the Exchange 2010 Mailbox server.

  • You don't use OABs in your organization.
  • You use only public folders for OAB distribution.
  • An Exchange 2007 Mailbox Server is responsible for OAB generation in the organization.

The following cmdlet can be used to configure Group Metrics generation manually on an Exchange 2010 mailbox server.

Set-MailboxServer -GroupMetricsGenerationEnabled $true

MailTips Limitations

MailTips come with some restrictions mainly intended to avoid excessive performance impact on Client Access servers, especially when a large number of recipients are involved.

  • When more than 200 recipients are added, MailTips aren't evaluated due to performance issue.

  • Custom MailTips are limited to 250 characters.

  • The operations will time out if MailTips information isn't returned within 10 seconds.

  • Static and dynamic distribution group matrices are calculated and distributed to all Client Access Server once a day. Hence Total Member and External recipient count MailTips information might not be up to date.

  • MailTips for individual recipients aren't evaluated when an email is addressed to a distribution list. But Large Audience and External Recipient MailTips are displayed for the distribution lists based on the organization settings.

Conclusion

The MailTips architecture is organized in such a way that it produces minimal load on Client Access servers. Various in-house tests showed a maximum of 5% load increase. Mailtips is one of those features that deliver great convenience with less investment. It sure allows Exchange 2010 to make a difference and extend its lead in the Messaging server market.

References

Understanding MailTips

Understanding Group Metrics

User Comments - Page 1 of 1

Christopher 4 May 2012 02:29
Do you know why GroupMetric Generation is disabled by default when one is using public folder distribution for OABs? Does it even work when I manually create the Generaton of Groupmetrics? Or do I have to switch to web based distribution?
Copyright © 2005 - 2024 All rights reserved. ExchangeInbox.com is not affiliated with Microsoft Corporation