Email Router Demystified – Explanation

  • Comments 6

This post got a little long on me so, for your benefit I went ahead and posted a video that covers the same content.  If you prefer to listen and watch the  video is embedded into this post at the end.   

When speaking about the E-mail Router, most people commonly think about the actual Microsoft Dynamics CRM component called Microsoft Dynamics CRM E-mail Router. However, the Microsoft Dynamics CRM for Microsoft Office Outlook client (for now will be referenced as the Outlook client), can also function as the E-mail Router for an organization. I have commonly been asked, “Why would I choose the E-mail Router instead of just using the Outlook client?” “What advantages are there to the Outlook client rather than the E-mail Router?” I have had customers install and configure the E-mail Router and not even know why they were installing or configuring it. The intent of this post is to explain why an organization would want to use e-mail routing within their organization.

The sole purpose of e-mail routing is to get mail delivered from or created into Microsoft Dynamics CRM (from now on will be referenced as CRM). For instance, let’s say a company, Company ARR (I’m a big fan of pirates), wants to send marketing materials out for a new product that is being launched. They want to be able to track what e-mails were sent and who replied to them. Company ARR can use CRM to accomplish this task. CRM does not have the capability of being an e-mail service. We rely on some other application, such as Microsoft Exchange, to handle the e-mail services. We then need something to handle the communication between the e-mail service and CRM. This is the entire concept of the e-mail router. To be the middle man between these two services.

Now we understand, theoretically, the purpose of e-mail routing and the E-mail Router. We will change our focus onto the fun part, trying to make sense of all the available options for e-mail routing.

Which options an organization will want to choose will be based on their pre-deployment planning. The following section should help organizations choose the proper deployment, in regards to E-mail Router, for their organization.

 

E-mail Router vs. Outlook Client

There are advantages and disadvantages to both of these components. The following lists of advantages and disadvantages can be found in the E-mail Router Scenarios document found here:

 

The Microsoft Dynamics CRM E-mail Router

The E-mail Router can handle the incoming and outgoing e-mail requests of CRM. The E-mail Router is an extra component that needs to be installed and configured on a supported environment. You can find the hardware and software requirements of the E-mail Router within the CRM Implementation Guide found here. Locate the following sections within the Planning Guide:

 

Microsoft Dynamics CRM 2011 E-mail Router hardware requirements

Microsoft Dynamics CRM 2011 E-mail Router software requirements

 

Let’s now review what the Advantages and Disadvantages are.

 

Advantages

· Can be used to connect to Exchange and POP3 mailboxes to track incoming e-mail into Microsoft Dynamics CRM

· Can be used in deployments where the Microsoft Dynamics CRM Client for Outlook is not installed

· Can be used to monitor individual user mailboxes

· Can be used for Queues

· Will send outgoing e-mails out as long as the Router service is running

 

Disadvantages

· Requires a dedicated computer that is always running

· Can be more complex to setup and maintain if used to monitor a large number of user’s mailboxes

· Requires a central administrator within the e-mail service that would have full mailbox rights for users within a deployment or users to manually enter in their credentials within their Personal Options within CRM

 

The Forward Mailbox

The Forward Mailbox is used solely for incoming e-mails. It does require the Microsoft Dynamics CRM E-mail Router to be installed. In addition, you will need to use either the Microsoft Dynamics CRM Client for Outlook or the E-mail Router to send outgoing e-mails. Let’s look into some of the advantages and disadvantages of the Forward Mailbox.

 

Advantages

· Reduces the number of incoming profiles that must be created and managed for organizations that monitor a large number of user’s mailboxes

· One central mailbox to monitor

· Does not require a central administrator within the e-mail service or users to enter in their credentials within CRM

 

Disadvantages

· E-mail provider must have the ability to forward as an attachment. This is required to forward e-mails to a central mailbox that is monitored by the Microsoft Dynamics CRM E-mail Router

· A mailbox rule must be deployed to each user to forward e-mails to the central mailbox

 

The Microsoft Dynamics CRM Outlook client

The Microsoft Dynamics CRM Outlook client can be used for incoming and outgoing e-mails like the E-mail Router.

 

Advantages

· This scenario does not require the Microsoft Dynamics CRM E-mail Router. The Microsoft Dynamics CRM Client for Outlook is able to send e-mail for each user whether the user sends it from within Outlook or within the CRM Web Client, as well as receive and track e-mail in Microsoft Dynamics CRM.

· There are no user passwords to maintain for access to Microsoft Dynamics CRM or to the user’s mailboxes.

 

Disadvantages

· The Microsoft Dynamics CRM Client for Outlook must be running for e-mails to be sent or tracked in Microsoft Dynamics CRM. If the Microsoft Dynamics CRM Client for Outlook is not running, the e-mails will be queued until Outlook is launched and connects to the Microsoft Dynamics CRM server and to the mail server.

· This scenario cannot be used for Queues created in Microsoft Dynamics CRM.

· The Microsoft Dynamics CRM Client for Outlook must be installed for all users that is configured with this option.

Well this is a great explanation of the Advantages and Disadvantages but what does this all mean? What does it mean to use E-mail Router or Forward Mailbox? What are the fundamental differences between the Outlook client and the E-mail Router? I am going to use a couple of diagrams to try and help illustrate the idea of what the E-mail Router, Forward Mailbox, and Outlook client is doing in regards to E-mail Routing.

 

E-mail Router:

Again, it’s important to understand the functionality of the E-mail Router. It is designed to connect an e-mail service to CRM. The E-mail Router can be used for sending e-mails out of CRM as well as handle creating e-mail activities into CRM, based on replies to CRM e-mail activities. We will first look at how the E-mail Router connects CRM to an e-mail service to send Outgoing e-mails.

 

E-mail Router – Outgoing E-mails:

The following diagram is to help illustrate how the E-mail Router sends e-mails out of CRM. I will discuss the actual flow in more details below.

 

1. A user creates an E-mail activity within CRM and clicks on save. The E-mail activity status is now set to Open and the E-mail is in a Draft state. This means that the E-mail activity can be modified.

2. A user ensures that the e-mail is to their liking and clicks on Send. This will change the E-mail activity status to Pending Send and set the E-mail activity to a read only state.

3. The E-mail Router will query CRM, shown in step 1 in the diagram above, to determine if there are any e-mails that need to be sent. The E-mail Router queries CRM based on a couple of conditions. The first is that the CRM e-mail activity needs to have a status of Pending Send. Then the E-mail Router processes outgoing e-mails on a per user basis. This means that CRM is looking for the user’s GUID for the Sender field. By default, the E-mail Router will only retrieve 6 e-mails to send to the e-mail service at a time.

4. The E-mail Router will try and establish a connection with the E-mail server. Once a connection has been established, it will take the list of e-mails it retrieved in step 1 and send them to the mail server to be delivered. This is shown in step 2 in the diagram above. In some situations, such as later versions of Exchange, the e-mail server must be configured to allow e-mail to be sent from an “external” source. External merely suggests that the e-mail send request was not done by the e-mail service.

5. The server will then accept or reject the request being made from the E-mail Router. If the e-mail server accepts the e-mails from the E-mail Router, the e-mail service will send a reply to the E-mail Router that it is accepting the E-mails. Once the E-mail Router receives this notice, it will change the status of the e-mail activity within CRM from Pending Send to Sent. If the e-mail server rejects the e-mail, the e-mail activity will go back into a Pending Send status and a retry will be done at a later time.

6. Once the e-mail service has accepted the e-mail. It is up to the e-mail service to get it from the server to the recipient. This is shown in step 3 in the diagram above.

 

This is a fairly simple process and concept. The E-mail Router queries CRM for e-mails that are pending send, packages those e-mails up, and sends it off to the e-mail server. Let’s move on to how the E-mail Router handles Incoming E-mails.

 

E-mail Router – Incoming E-mails:

This process is a little more complex but, theoretically, is a simple process as well.

1. So let’s continue to work with the concept that a user sent an e-mail out of CRM to a CRM Contact record. That Contact responds back to the user and that e-mail is now inside of the CRM user’s e-mail box. This is illustrated in the picture above as step 1.

2. We now need to get the e-mail response from the CRM Contact into CRM. To do that, we configure the user’s settings and the E-mail Router to connect to the CRM user’s mailbox. We will discuss the configuration in a future blog post. In order for the E-mail Router to establish a connection to the e-mail server, the E-mail Router must pass credentials to the e-mail server of a user that has full mailbox access permission to the mailbox. The E-mail Router then crawls through the Inbox and sub-folders of the Inbox for that user’s mailbox. This is shown in the picture above as step 2.

3. For each e-mail in the user’s inbox, the E-mail Router will query the CRM server to determine if the e-mail message should be created as an e-mail activity or not. This determination is made based on a few different configuration options within CRM. This is step is shown in the picture above as step 3. If CRM agrees that the e-mail activity meets the criteria to be created into CRM, it will create an e-mail activity within CRM with the status of Received. If CRM does not believe it should be created as an e-mail activity within CRM, it will deny the request and give the reason of why it denied the request. It then logs a message with the E-mail Router and the e-mail message is then disregarded.

 

Forward Mailbox

As mentioned previously, the Forward Mailbox can only be used for Incoming e-mails. The idea behind the Forward Mailbox is that e-mails from CRM users are all forwarded as attachments to a common mailbox, commonly referred to as the Forward Mailbox. Then the E-mail Router connects to that mailbox and processes that one mailbox, rather than all mailboxes for all CRM users. Let’s take a look at what the flow looks like for the Forward Mailbox.

1. Again, let’s continue to work with the concept that a user sent an e-mail out of CRM to a CRM Contact record. That contact then replies back to the e-mail message. The e-mail response is then delivered into the CRM User’s mailbox on the e-mail server. This is show in Step 1.

2. Based on the forwarding rules deployed to the user’s mailbox, the e-mail server will forward a copy of the original e-mail message as an attachment to the Forward Mailbox as seen in Step 2.

3. The E-mail Router establishes a connection with the Forward Mailbox and processes each e-mail. This is seen in step 3.

4. Step 4 illustrates the E-mail Router querying CRM for each e-mail message within the Forward Mailbox to determine if it should be tracked inside of CRM. If it should, it will create an e-mail activity within CRM. If it should not be tracked, then CRM will disregard it. Either way, the e-mail in the Forward Mailbox inbox is deleted.

 

CRM Outlook Client

The CRM Outlook client functions a lot like the E-mail Router does for incoming and outgoing. Instead of the E-mail Router acting as the third party between the CRM server and the E-mail server, the CRM Outlook client is now handling the middleman duties. The main difference between the E-mail Router and the CRM Outlook client is the configuration.

The authentication to the e-mail server is handled by the established connection between Outlook and the e-mail server and the authentication between Outlook and CRM is controlled by the CRM addin. The mail flow and processes are identical to the e-mail router. However, troubleshooting mail problems between the e-mail router and the CRM Outlook client is a little different. We will cover this in the troubleshooting portion of this blog post.

To Be Continued…

Back to the Intro

At this point, you should have a good understanding of what the E-mail Router is, what the E-mail Router does, and how it does it. I hope you have found this helpful. If you have any questions, please don’t hesitate to write your comments within this blog. The next post will document some of the limitations of the E-mail Router.

  • I have this scenario where outgoing emails are working fine for all users except one. When I do "test access" the outgoing seems to be fine for this user. But while sending an email, all his emails are marked to pending send. Please help

  • Hi,

    I have a problem with my incomming e-mails. I't sems like they are read only. I wan't to set a custom status on them like Progress: To handle, but the only thing I can change is the regarding field :-)

    Regards

    Robert

  • @KARAN SHARMA

    Sorry for the delay in getting back to you.  I would highly suggest you reaching out to our Forums for assistance on this.  I will have another blog, hopefully soon, up about troubleshooting the email router.  My guess is that this user is not fully configured to allow the email router to process outgoing messages.  You can reach out to our forums here:

    community.dynamics.com/.../117.aspx

  • @Robbisweden

    Robert, what you are seeing is by design.  When the email router promotes an email into CRM, the activity gets created into CRM as a read-only email.  If the email is not read only, then this would allow the someone to send the email from CRM.  

    I believe you want to manage emails as they come in.  I would highly suggest utilizing a queue or create a workflow that creates a Task that is related to the email and use that to help manage your email.  

    Thanks,

    Josh

  • Thanks Aaron , for this article.  Made life easy for me.

    I hope you may answer few questions of mine.

    As you mentioned, In the 'Email Router- Outgoing Mail' Scenario, the CRM email router would send the email activity as an email directly to Email Server.  

    Q 1)  Would this mean that the "SENT" folder in the user's mailbox won't have a copy of this email, the only copy of the email would be the CRM email activity ?

    Q2 ) From the 'Email Router- Outgoing Mail' Scenario there will be two copies of a single email, one in the User's Mailbox (Inbox) the other copy would be a CRM email activity, I hope my assumption is right ?

    These two questions are critical to my solution becoz, My current setup has MS Outlook directly integrated with a Document Management System (DMS), All incoming and Outgoing emails are directly logged into the DMS.

    From the explaination in the article, I infer that storing emails in the DMS in an "Email Router-Outgoing Mail" scenario might not be possible.

    Hope I'am wrong :) , if you could throw some light, it would be very helpful.

    ta,

    Ben

  • @Ben Salins

    Thanks for the kind words are the article.  Glad that it has helped you understand this complex world of the router.  I am happy to help in any way possible.  Here are the answer to your questions inline:

    Q 1)  Would this mean that the "SENT" folder in the user's mailbox won't have a copy of this email, the only copy of the email would be the CRM email activity ?

    A: This is absolutely correct.  Since SMTP is used to send the email as the user or on behalf of the user, it will not show up in the user's profile.  If this is a requirement where the sent item needs to show up in the Sent folder within Outlook/OWA, then the CRM Outlook client will accomplish that goal.

    Q2 ) From the 'Email Router- Outgoing Mail' Scenario there will be two copies of a single email, one in the User's Mailbox (Inbox) the other copy would be a CRM email activity, I hope my assumption is right ?

    A: Well it depends on who the To or CC is set to.  The user will not receive a copy of the email at all unless they were put in the To or CC line.  The only way a user would know if they sent an email from CRM would be to check the sent email activities within CRM.  

    From the explaination in the article, I infer that storing emails in the DMS in an "Email Router-Outgoing Mail" scenario might not be possible.

    A: If the only integration you can do with your DMS is through Outlook, then, you are correct in stating that the Email Router for outgoing would not meet your needs.  HOWEVER, if there is any sort of SDK available for the DMS, then it could be possible to create these items with plugins sending the request to the DMS.  The system is capable of doing other things if we simply extend the basic functionality.  The other systems (DMS) would need to be allowed to do this as well.

    Ben please let me know if you have any other questions or comments.  We truly appreciate the time you took to reach out to us.

    Thanks,

    Josh Wells