Standardizing Company Signatures with Exchange Server 2010 Transport Rules

Normally, every company has standard email signature formats decided by their HR department but it becomes a pain for IT guys maintain this standard all across the organization. When people have access to modify their signatures they never miss any chance to be as creative as possible and create their signatures based on their own imaginations. Here is a cool link that talks about this creativity  http://www.sitepoint.com/blogs/2009/09/18/personalities-of-poor-email-signatures/. HR and other departments like legal seem least bothered about the pain that messaging team has to go through to maintain this standardization but they simply want it to be similar for all users in the company.

To maintain the standard many companies used GPOs and the some third party products like Exclaimer to enforce signatures on emails going outside the organization.

Fortunately, Exchange 2010 ships with another useful feature which was originally introduced in Exchange 2007 but made easy in the Exchange 2010. You can use transport rules for enforcing your company signatures on all outbound/internal messages.

It is a common practice to have HTML email signatures. So the first step is to design the signature layout in the form of HTML. Furthermore, if you want to extend the use of this feature you can also use the Active Directory attributes to pull the user specific data from Active Directory, provided all mailbox enabled user account must have all their information updated in AD. If you spend some time on updating all relevant data like phone numbers, name, location, etc you can create dynamic signatures based on this data. For example my signatures looks like below:

Exchange Geek
Sr. Systems Engineer 

Exchange Geek Inc
Pune

 

and the HTML would look like below

<table border="1" cellspacing="0" cellpadding="2" width="256"><tbody>
    <tr>
      <td valign="top" width="167"><strong>%%DisplayName%%
          <br /></strong>%%Title%%

        <br />

        <br />%%Company%%

        <br />%%City%%, %%State%%</td>

<td valign="top" width="49"><a href="http://www.gravatar.com/avatar/3f4ecad3da691180b2d81cadcb95af05.png"><img src="http://www.gravatar.com/avatar/3f4ecad3da691180b2d81cadcb95af05.png" width="52" height="52" /></a></td>
    </tr>
  </tbody></table>

Once you have the HTML ready the next step is to create a transport rule as below:

New-TransportRule -Name ‘StandardSignature’ -Enabled $true -Comments ‘Company Standard Signature’ -FromMemberOf ‘All Users’ -ApplyHtmlDisclaimerLocation ‘Append’ -ApplyHtmlDisclaimerText ‘ <table border="1" cellspacing="0" cellpadding="2" width="256"><tbody><tr><td valign="top" width="167"><strong>%%DisplayName%% <br /></strong>%%Title%% <br /> <br />%%Company%% <br />%%City%%, %%State%%</td> <td valign="top" width="49"><a href="http://www.gravatar.com/avatar/3f4ecad3da691180b2d81cadcb95af05.png"><img src="http://www.gravatar.com/avatar/3f4ecad3da691180b2d81cadcb95af05.png" width="52" height="52" /></a></td></tr></tbody></table>‘ -ApplyHtmlDisclaimerFallbackAction Wrap -Priority ‘0’

Once the above command is executed successfully; the above rule will start appending signatures to the emails sent by users of group All Users.

If you see carefully, I used the transport predicates in the form of %%DisplayName%%, %, %% Title%%, etc. To see the list of all supported transport predicates you can refer http://technet.microsoft.com/en-us/library/dd638183.aspx#PropertyTypes

Just a note: although I used an image in the signature to demonstrate the use of images in an HTML signature, it is not a good practice to have images in your email signatures.

I hope this helps you if you are planning to use the a transport rule for signatures in your company.