CRM Watcher

CRM Watcher is the source for the latest Microsoft Dynamics CRM News and Downloads.

Thursday, November 09, 2006

Dynamics CRM / Exchange / E-mail Router

Nice post by the Microsoft CRM Team: Microsoft Dynamics CRM for the Exchange Administrator.

Outlook Sync vs. Outbound Email vs. Inbound Email
One misconception I run into a lot is that the Microsoft CRM-Exchange E-Mail Router handles all CRM email (both inbound and outbound) and also performs the synchronization of Contacts, Appointments, and Tasks between CRM and Exchange. Actually, the router only does a very small part of this: it processes inbound emails.
Outbound emails sent from the CRM Outlook Client (both flavors) are sent via Outlook if they are sent using the Outlook email form with the Track in CRM button selected. In earlier versions of CRM, these emails were diverted to the CRM server where they were sent out via SMTP. With CRM 3.0, though, these emails are sent like any other email, so like any other email, you'll find the ones you've sent in your Sent Items folder.
Outbound emails sent by the CRM server are sent via SMTP. This includes all emails sent using the CRM web forms, workflow, and the CRM web services. CRM can use any SMTP server to send emails. This is configurable during the CRM install. In my deployments, I often use a local SMTP server (installed on the CRM box) or point CRM to an Exchange server which doubles as an SMTP server. It should also be noted here that since these emails exit via SMTP and never hit Exchange, you will not find these emails in your Sent Items folder.
Contacts, Appointments, and Tasks are synchronized via the Outlook Sync which is a component of the CRM Outlook Client (both flavors). This is a client-side synchronization process that takes place between CRM and Outlook, so while the data ends up in Exchange, the actual interaction is with Outlook.


CRM 3.0 Exchange E-Mail Router Architecture
Now that we know what the router does (processes inbound emails) and what it doesn't do, let's take a quick look at how it accomplishes its task:
The router, which is the only CRM component installed on Exchange, is associated with a mailbox created to process inbound CRM emails. Each CRM user has a rule on his/her inbox that forwards all received email to the CRM mailbox. The router, then processes each message that has been forwarded to the CRM mailbox. If it determines that the message belongs in CRM, it'll insert the email into CRM; otherwise, it'll toss it.
The router has to be installed on the back-end server that houses the CRM mailbox. It communicates with the local Exchange server only, so if the mailbox isn't there, it's not going to work.
Prior versions of CRM used an entirely different architecture, relying on SMTP Event Sinks that processed email when the it first comes in from the Internet. So, if you've heard anything about having to install the router on bridgeheads or front-end servers or gateways, forget about it. That's the old architecture. It proved to be clunky and had an assortment of issues that I won't go into. Just take my word that the 3.0 architecture is the right way to do it.


Read more