HMC 4.5 and Exchange 2007 SP1 - Part #4 Internal and External Out of Office

转自 http://blogs.technet.com/provtest/archive/2008/12/26/hmc-4-5-and-exchange-2007-sp1-part-3-internal-and-external-out-of-office.aspx 很好的文章,贴过来收藏,hehe.


Internal and External OOF in HMC Environment

So, the 4th main customization that HMC introduces to Exchange 2007 is the OOF Transport Agent. What is OOF? Here is the text book definition, "The Out-of-Office (OOF) feature is commonly used by end-users to let other people know when they are not available to respond to e-mail." Now, I don't intend to go into the working of OOF in Exchange 2007 because I think there are better articles out there that talk about it.

Here, I want to briefly explain how Exchange 2007 OOF, out of the box isn't really working complete in a HMC environment and how we make it work.

What's not working, really?

Exchange 2007 introduces the concept of Internal and External OOF. This is something that a lot of our customers have been waiting for. Now, we all know Exchange 2007 wasn't packaged with multi-tenancy enabled out of the box. The problem is this, the identification of what is considered internal and what is external.

If a mail is sent from one user to another (even though they are of different tenants) within the same Exchange Organization, it is considered internal. In another word, a hoster may hold both company A and company B, however, Exchange 2007 believes that both company A and company B are internal, and hence company A will never use External OOF to company B. This breaks the concept of internal and external OOF notification as in Exchange 2007 in HMC environment.

For example,

  1. Hoster A has a HMC environment that hosts both company A and company B.  
  2. John from company A set an internal and external OOF. The internal OOF is only intended for users in company A.
  3. Alice from company B sends an e-mail to John from company A. Instead of getting John's external OOF, she got his internal OOF.

How do we make it work then?

To support Out of Office (OOF) feature for tenants among different organizations within the same Windows domain, HMC introduces a customized OOF transport agent on all Exchange Hub Transport servers. As highlighted over here (http://technet.microsoft.com/en-us/library/cc545931.aspx), the OOF agent includes two utilities:

  • Categorizer Override Agent: A transport agent to override the categorizer behavior on Hub Transport servers. This agent sits in Submission Queue and to be more specific, OnSubmittedMessage in the Exchange 2007 Transport pipeline.

 

  • SMTP Domain Cache Task: A scheduled task to generate cache files for categorizer override agent to filter the OOF messages. Based on the deployment document, the interval recommended is 60 minutes.

So, how do these utilities work? It is quite simple as a matter of fact. Let's talk about the Categorizer Override Agent first. When a mail comes into the Hub Transport server, it hits the OnSubmittedMessage; it fires up the Categorizer Override Agent. The agent checks to see if the mail is sent using an external OOF template, if yes, then it expands the recipients to check and bypass suppression of the external OOF message for external and inter-company recipients.

Next it checks to see if it is an internal OOF template, if it is, it will then expand the recipients and suppress the internal OOF message for external and inter-company recipients.

For performance reason, that's where the SMTP Domain cache task comes in. The task read from the MPS SQL server for all the domains that have been provisioned and generate a .cache file with all the domains hosted by the environment periodically.

This file is used by the categorizer override agent to find out if it is part of this Exchange organization. Having it cached as a local text file, is obviously a big performance gain compared to going to Active Directory to make the query every time especially if the environment has large number of hosted domains.

So, there you go, with the above, it overrides the logic of Internal and External OOF when dealing with different companies in the same Exchange organization.

The OOF agent was first introduced in HMC 4.5 and Microsoft has also back ported this agent to HMC 4.0 environment, (http://blogs.technet.com/provtest/archive/2008/11/19/oof-agent-is-now-available-in-hmc-4-0.aspx)


What are some of the usual problems that you may face while installing this OOF agent?

The installation of the OOF agent is clearly documented here. However, there are a few areas that you may encounter issues,

The OOF agent included in the deployment ISO is a 32-bit agent. Hence, the default path, instead of the documented, C:\Program Files\Microsoft\Exchange Server\TransportRoles\Agents\CategorizerOverrideAgent, it will be C:\Program Files (x86)\Microsoft\Exchange Server\TransportRoles\Agents\CategorizerOverrideAgent instead.

 Another thing you should know is that, the Microsoft Exchange Transport service runs as a NT_AUTHORITY\NetworkService account. Hence, you need to make sure whichever directory that you are installing this agent in, the NT_AUTHORITY\NetworkService must have permission to it.

Also, it is my recommendation to Install HMC 4.5 Rollup 1 instead as this rollup includes a 64-bit binaries.  

Another common mistake that most people may have is not setting the path correctly in SmtpDomainCacheTask.exe.config file. A simple mistake there may, like removing a '&' may result in failure with strange error.

More about OOF?

In case you want to know more about the working of OOF, here are 2 articles that you may want to read,

Exchange Server 2007 Out of Office (OOF)
http://msexchangeteam.com/archive/2006/10/06/429115.aspx 

Legacy client and Out of Office (OOF) interoperability
http://msexchangeteam.com/archive/2007/04/04/437544.aspx

2 Comments

I have been getting trouble tickets lately that oof changes is not used.

Say someone disables oof - The oofs are still sent even though the outlook and the web shows its off.

Or if you change an oof - is not changed to the new.

I have been looking high and low, but the HMC usegroups are closed now.

Im HMC4.5RU6

Hi Mikki,
Check your Exchange Hub server to see if there any error logs?

-Randy

Leave a comment

Recent Entries

  • Lync Server 2010 发布架构报错

    昨天想试试在现有的 OCS 2007 R2 的基础上部署 Lync Server 2010 试试看,装好 Topology Builder 之后,新建了一个拓扑,然后把该填的都填了,发布的时候老是报SQL错,很是郁闷,后来终于在log中找到了错误原因:  Script result: ERROR_VALIDATE_BAD_SQL_VERSION Error: Script failed (code "ERROR_VALIDATE_BAD_SQL_VERSION") when installing "CentralMgmtStore" on "LyncServer01.mail2any.local"....

  • 使用 URL Rewrite 重定向 Http 请求至 Https

    公司部署了个新的 IIS 站点,需要强制在 Https 下面访问,但是又不希望关掉80端口的 Http 请求,这样对用户体验来讲不好,最好是能强制所有的 Http 请求都会被重定向到 Https 上面去,显然, IIS 自带的 "HTTP Redirect" 已经不能满足这个需求,我们这里使用 IIS 7.0 下面的重定向扩展 URL Rewrite Module 来做。1. http://www.iis.net/download/URLRewrite 到这里下载,有分...

  • How to remember your OC and Outlook password

    How to make your computer remember your Microsoft Communicator 2007 R2 and Outlook 2007 password (如何让你的电脑在非域环境中记住 OC 2007 R2 和 Outlook 的密码)我们知道,在域的环境中,使用 OC 和 Outlook...

  • 微软 CRM 2011 Beta 快速安装图解

    微软在9月17日在网站上放出了 CRM 2011 (也就是CRM5.0)的 beta 版本,我就先来个简单的快读安装图解,一睹为快,下个月会写点新版 CRM 的使用感受。 下载: Microsoft Dynamics CRM 2011 Beta Microsoft Dynamics CRM 2011 Software Development Kit (SDK)Microsoft Dynamics CRM 2011...

  • 升级到 Exchange 2010 SP1 后出现的2个小问题

    今天有空把所有的 Exchange 服务器从 2010 RTM 升级到了 2010 SP1 了, 升级完了后发现了2个小问题: OWA打开正常,但是点到 ECP 的时候报 403 访问拒绝错误 某台 Exchange 打开 EMS 时报错如下: [server.mydomain.local] Connecting to remote server failed...

Close