Using Transport Rules to append text to Meeting Requests when Room Mailbox is selected as Resource

This week I got a request to append information to message body of a meeting request when a room mailbox is chosen as a resource. I have to say; at first I was thinking this should be pretty easy with Transport Rules on Exchange 2010 but after several tries this was not true. Before I present the solution I want to walk through the attempts to which I miserably failed to set this rule.

The requested scenario was very simple:

  1. User sends a meeting request to multiple recipients who are on To and CC.
  2. User adds a Room Mailbox which has third party Video Conferencing utility to Resources. (All third party Video Conferencing Utility rooms have 777xxx at the end of display name for easy selection.)
  3. When recipients receive this request we want to see the appended information.

I decided to use “VC Room 777666” Room Mailbox and “INFORMATION ABOUT ROOM MAILBOX” text as information that will be appended for my tests; I created the first Transport Rule for my test:

  • Condition: Sent to “VC Room 777666”
  • Result: Text only appended to the message received by Room Mailbox none of the other recipients got the information in their meeting Request

So I said, ok let’s try a different approach and added the Room Mailbox to “VC Rooms DG” Distribution Group. (I did not set this group as Room List as Exchange Management Console filtering them out on condition selection.)

  • Condition: Sent to a member of “VC Rooms DG”
  • Result: Text only appended to the message received by Room Mailbox none of the other recipients got the information in their meeting Request

I was on the wrong path here all these rules were looking for exact condition. But my task was to create a rule that will append the text for all recipients. So finally the concept of how to set the rule was clear in my mind. So came the third try:

  • Condition: When any of the recipients in the To or CC fields is a member of “VC Rooms DG”

As usual after setting the rule, I sent a simple Email and the text was appended and all recipients got it. But wait! I needed to test Meeting Request to confirm everything is working. I was feeling confident after seeing the Email with appended text that it will work.

Oh noooooo it failed again… How can this be? This rule was able to append the text in Email but not on Meeting Requests? There must be something wrong.

I was stuck. It did not make any sense at all. After spending about half an hour on all these tests I was about to give up. I was thinking this must be a bug or something.

I love problems like these this is the main reason why I am in IT. It was time for troubleshooting to find out why it did not work.

“Pipeline tracing is a diagnostic feature in Microsoft Exchange Server 2010 that enables you to capture diagnostic information about e-mail messages as they encounter transport agents registered on Simple Mail Transfer Protocol (SMTP) events in the transport pipeline”

So guess what, I turned on Pipeline Tracing on my Hub Transport Servers to collect the necessary information and to check if the rule is getting applied.

Set-TransportServer  -identity EXHT  -PipelineTracingSenderAddress SerkanVaroglu –PipelineTracingEnabled $True

I did not make any changes on the latest test rule. I sent another meeting request to same mailboxes with my room mailbox selected as resource for the meeting.

Pipeline Tracing collected all the steps and generated “.eml” files for me. I opened every single one of them and checked the headers.

I found the following entry on the header which surprised me:

X-MS-Exchange-Organization-BCC: VC Room 777666      <>

So as you might guess from the entry when you add Room Mailbox as resource (not in To or CC but as a Resource!) Exchange sets this BCC information on the meeting request.

Clouds are clear and sun is shining again. Now I know why my rule is not working: Room mailbox is not on To or CC field. So, now I have to create a rule for BCC.

So here comes the ultimate rule for my task:

  • Condition: When the ‘X-MS-Exchange-Organization-BCC’ matches ‘777\d\d\d’ (When the message header matches text patterns)
  • Result:  Life is good….

It worked now when I send an meeting request to any of my room mailboxes which has 777xxx number in the display name it appends the required text to the meeting request for all recipients.

About Serkan Varoglu

Serkan Varoglu is a Turkish IT Pro living in Ireland. Serkan has over 10 years experience and hold certifications including MCITP (EMA 2010 and Enterprise Admin), MCSE, MCSA, MCTS, ITIL and was awarded the Microsoft MVP Award (Exchange Server).