Email Router Demystified – Explanation
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 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.
[View:http://www.youtube.com/watch?v=vl81FFCr-Bc&feature=plcp]
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.
Comments
-
We are facing strange issue with CRM Email router 2016.
CRM Version : CRM online 2016
Profile: Outgoing (cloudmail.microsoft.com)
We have configured the Email router settings and after clicking on Load data we are getting below error
Error Log details after enabling CRM Email router Tracing
#6188 - The Email Router service cannot connect to the Microsoft Dynamics CRM server or the Microsoft Dynamics CRM Online server to access user and queue information. Verify that the account that is used to run the Email Router service has sufficient permission to access the Microsoft Dynamics CRM server and that there are no connectivity problems. Microsoft.Crm.Passport.IdCrl.IdCrlException: GetAuthStateEx() - Request Status:
at Microsoft.Crm.ServiceProxyCache`1.BuildServiceProxy(Uri serviceUrl, Credential credentials, Uri homeRealmUrl, String passportEnvironment, String onlineServiceEnvironment, IServiceConfiguration`1 serviceConfiguration)
at Microsoft.Crm.ServiceProxyCache`1.GetNewServiceProxy(Uri serviceUrl, Credential credentials, Uri homeRealmUrl, String passportEnvironment, String onlineServiceEnvironment)
at Microsoft.Crm.Tools.Email.Providers.OrganizationUrlCache.DiscoverOrganizationUrl(Uri discoveryServiceUrl, Credential credentials, String organizationName)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at Microsoft.Crm.Tools.Email.Providers.OrganizationUrlCache.GetOrganizationUrl(Uri discoveryServiceUrl, Credential credentials, String organizationName)
at Microsoft.Crm.Tools.Email.Providers.Utility.GetOrganizationServiceUrl(Uri discoveryUri, String authMode, String userName, String password)
at Microsoft.Crm.Tools.Email.Providers.Utility.GetCrmService(Uri discoveryUri, String authMode, String userName, String password)
at Microsoft.Crm.Tools.Email.Management.Deployment.LoadServerSetting()
at Microsoft.Crm.Tools.Email.Management.Deployment.Load(BackgroundWorker backgroundWorker)
at Microsoft.Crm.Tools.Email.Management.Configuration.UpdateAll(Boolean refreshDeployments, String configurationSettingsFilePath, String configurationFilePath)
Error Log details in Event Viewer
#26234 - The Email Router service could not process a provider work item using assembly: Microsoft.Crm.Tools.EmailProviders.dll and class: Microsoft.Crm.Tools.Email.Providers.SmtpPollingSendEmailProvider. Microsoft.Crm.Passport.IdCrl.IdCrlException: GetAuthStateEx() - Request Status: at Microsoft.Crm.ServiceProxyCache`1.BuildServiceProxy(Uri serviceUrl, Credential credentials, Uri homeRealmUrl, String passportEnvironment, String onlineServiceEnvironment, IServiceConfiguration`1 serviceConfiguration) at Microsoft.Crm.ServiceProxyCache`1.GetNewServiceProxy(Uri serviceUrl, Credential credentials, Uri homeRealmUrl, String passportEnvironment, String onlineServiceEnvironment) at Microsoft.Crm.Tools.Email.Providers.OrganizationUrlCache.DiscoverOrganizationUrl(Uri discoveryServiceUrl, Credential credentials, String organizationName) at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at Microsoft.Crm.Tools.Email.Providers.OrganizationUrlCache.GetOrganizationUrl(Uri discoveryServiceUrl, Credential credentials, String organizationName) at Microsoft.Crm.Tools.Email.Providers.Utility.GetOrganizationServiceUrl(Uri discoveryUri, String authMode, String userName, String password) at Microsoft.Crm.Tools.Email.Providers.Utility.GetCrmService(Uri discoveryUri, String authMode, String userName, String password) at Microsoft.Crm.Tools.Email.Providers.CrmPollingSendEmailProvider.Run() at Microsoft.Crm.Tools.Email.Agent.ServiceCore.ExecuteProviderWork(Object providerQueueRequestObject)
When we are using service account in Email router deployment configuration facing this issue. However when I used my credential in Email router deployment configuration tab it is working fine.
Request you to please help as this is blocking our project deliverables.
Appreciate your help !
-
Hi,
Email router reads the new emails only from the inbox of the configured mailbox and does not look into any other folder like clutter or junk. My client wants MS Article having detailed description on this. Could you please share anything which may be useful to convince the client about how the CRM Email Router works to pull the emails to CRM.
Thanks and Regards,
Dilip
-
Thanks for this great blog post. But there is one thing not so clear for me: Where are the emails stored? Are they in both (users' and forwarding) mailboxes? What will happen if I delete an email in one of them? Will the activity in CRM still be there?
-
Pingback from ?????? ?????????????????? ???2??? ????????????????????????????????? | ?????? Dynamics CRM
-
@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
-
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
-
@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
-
@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:
-
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
-
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

Like
Report
*This post is locked for comments