655 Saturday, May 21, 2016 |
Shruti Roy
Dynamics CRM Consultant at Pwc

Email Router Demystified in MS CRM Part -2

Troubleshooting Outgoing email issues

To do this, we need to reference the mail flow diagrams shown in the Explanation post previously.  We’ll first cover the Outgoing portion of the Email Router.

Troubleshooting Outgoing email issues is the not a difficult part of the Email Router to troubleshoot.  The reason is that there are only two different configuration options, SMTP or Exchange Online.  Realistically, you troubleshoot these the same way.  Obviously we have some restrictions during the troubleshooting steps when working with Exchange Online but these should be pretty obvious.  Let’s go ahead and get into troubleshooting at this point.

 

The first thing to know about troubleshooting the Email Router is to remember the traffic flow.  This was shown in the second post of this series but I have included it here as well:

 

Each step represents a potential break point.  The key to troubleshooting is to understand where the error occurs and what the error is telling you.  So how can we determine where the issue lies?

 

The first step to this is to understand, what’s the state of the email within CRM?  There are three status the email can be when in CRM. 

  1. Pending Send
  2. Sending
  3. Sent

What’s an easy way of understanding what emails are in which state?  The typical recommendation I have made to our customers is to use Advanced Find on the E-mail Messages entity.  When building your Advanced Find, you will want to ensure you have, at minimum, the following columns: Subject, From, To, Status Reason, No of Delivery Attempts.

Note: The one thing I want to ensure is pointed out is the last column of No. Of Delivery Attempts.  This tells us how many times the Email Router has tried to send the email.  Anytime it goes from Pending Send to Sending, it increments this attempt by 1.  We delay sending emails that have higher Delivery Attempt counts.

Each of the email statuses signify a different step within the mail flow diagram above.  Let’s review each of these now:

  1. Pending Send: Pending Send means that the email router has not processed this email message yet or there was an error when it did process it and put it back into a pending send status to try to send it again at a different time.  The key to knowing how to differentiate these is to look at the Advanced Find.
     
    One Pending email with the Subject of “Failing Email” shows that the router has tried sending the email five times and it’s still unable to do so since the Status Reason is still Pending Send.  This tells me that there is an issue between the Email Router and the Outgoing service (SMTP or Exchange Online).  The email router was able to retrieve the message from the CRM server, validated the user information within CRM, and submitted it to the Outgoing service to be delivered.   For some reason, the outgoing attempt failed for this email and I can review the Event Viewer Application Logs for more information.   The other email in a Pending Send state, shows the delivery attempts as 0.  This means the router has not yet picked up this email for processing.  This could be due to quite a few reasons. 
    1. The User’s profile does not list E-mail Router in the Email Access Configuration for Outgoing:
    2. The user is not listed in the Email Router Configuration Manager after clicking on Load Data:

      This could be due to the Email Access Configuration for the user not set to Email Router for Outgoing or the user’s email address has not been approved.
    3. The user does have Email Access Configuration set to Outgoing and is in the Email Router Configuration Manager but the user’s GUID <UserId> is not present in the Microsoft.Crm.Tools.EmailAgent.xml file:

      In this case, the user’s GUID is B8DD579B-501D-E211-AA2E-00155D51F43.  The reason could be that after the user’s settings were changed to Email Router (Email Access Configuration) no one went back in the Email Router Configuration Manager and clicked on Load Data and Publish.
    4. The user’s Personal Options do not allow the Email Router to do processing on their behalf.

      CRM 2011:

      CRM 2013:

      The setting for “Allow other Microsoft Dynamics CRM users to send e-mail on your behalf” is needed for those that generate emails and change the from field to use your account.  

      The setting “Allow E-mail Router to use my credentials to send and receive e-mail on my behalf” is required when the Outgoing profile within the Email Router Configuration Manager is set to User Specified for Access Credentials.
  2. Sending: Sending means the Email Router is currently processing the message.  It has already accepted it from CRM and is currently waiting for the Outgoing service to accept the message.  A failure here would send the email back into a Pending Send status and then Delivery Attempts would have been incremented.  If the issue is occurring at this step, then you are going to need to use some additional tools suggested below in the “Outgoing Protocols” section.
  3. Sent: This means that the Outgoing service has accepted the email for delivery and now it is up to the Email service to get the email to the To and CC addresses. 

Outgoing Protocols

We also need to understand the protocols being used for the Outgoing profile.  Each scenario dictates different types of tools and troubleshooting:

SMTP:

The main troubleshooting tool we will use for troubleshooting SMTP issues is some sort of network sniffer such as Microsoft Network Monitor (NetMon) or WireShark.  Being the company man that I am, let’s take a look at what NetMon will show us. 

 

By adding a Filter of “ProtocolName == “SMTP”, I can easily see all of the SMTP traffic.  Now the error the
problem email is the following:

 

Looking through the traffic, I can see that the Exchange server, for “some reason” is throwing Reset packets:

 

By looking at the NetMon traffic, I knew the issue was coming from the Exchange server and there must be some sort of configuration problem on that particular server.  If the issue was intermittent, maybe it was one of the servers in the environment having problems.  After doing further troubleshooting, it was found that, the firewall on the Exchange server was blocking the traffic from the CRM server. 

Exchange Online:

Exchange Online is using Exchange Web Services (EWS) to send emails.  In this case, we can use Fiddler to see what the response coming back to CRM is.

Additionally, we can use a tool called EWSEditor found on CodePlex.  EWSEditor allows us to emulate the same requests as what is being done by the Email Router.  In the screenshot above, you can see that CRM is making an EWS call to GetFolder.  You’ll notice that the Email Router is going to use the schema version for Exchange 2007 SP1, just a tip when using EWS Editor.  We’ll get into the actual usage in a tools post here.

The next part of this post is to cover Troubleshooting Incoming email issues.

Microsoft Dynamics CRM 2013 for Tablets - Simple Lists

Top Companies to Work For in 2016

Lead Management: Disqualifying Lead

To Disqualify a Lead click Disqualify.

The user must select a reason why the lead is being disqualified

Microsoft Dynamics CRM Troubleshooting Errors When Viewing Reports

Customer Service and Care: Microsoft Dynamics CRM

CRM 2011 Charts Views and Grids

Dynamics CRM 2011 charts are a great new feature, and one of the best things about them is how they're integrated with data grids and views. "Inline visualization" might sound like a buzzword, but it really does give you more insight into your CRM data, and make things easier to do.

[Job] - IBM: Application Architect: MS Dynamics CRM, India

 

Company : IBM

Location: Bangalore, Gurgaon, Kolkata, Pune, Hyderabad

Required Technical and Professional Expertise:
Application Architect CRM Roles and Responsibilities: You will: -

  • -Evaluate and review new and existing software applications and technologies.
  • -Identify systems solutions to support business strategies and objectives
  • -Research, design, and develop software solutions to meet specifications.


Preferred Technical and Professional Experience:

Provide on-going support for production applications *Experience : 10 Years to 18 Years

Preferred Education:
Bachelor's Degree

Invoice Management : Fields on the Invoice Form contd.

  • Shipping Information
    • Shipping Method: Shipping method for deliveries sent to this address.
    • Payment Terms: Payment terms to indicate when the customer needs to pay the total amount.
  • Sales Information
    • Opportunity: The opportunity that the invoice is related to for reporting and analytics.
    • Order: The order related to the invoice to make sure the order is fulfilled and invoiced correctly.
    • Customer: The customer account or contact. This provides a quick link to additional customer details, such as account information, activities, and opportunities.

[Job] - Microsoft : Sr. Support Engineer-Microsoft Dynamics CRM

Company: Microsoft

Location: Las Colinax (TX), United States

As a Microsoft Dynamics CRM Support Engineer (SE), you are a technical leader and will be driving the discovery of potentially unique solutions for each customer situation as part of a team. We’ll provide you with abundant resources, including training, advanced diagnostic tools, the Microsoft Dynamics CRM product group, and the experience of tenured engineers around you. You will also have the opportunity to collaborate and help your colleagues by sharing the results of your investigation. In this professional role, your contribution and overall impact is self-directed and the opportunities are plentiful.

Troubleshooting at this level is not scripted. You will be responsible to resolve potentially unique solution for each of your customer’s situations. During the course of troubleshooting, you may uncover software defects and have opportunities to improve the customer experience as well as to influence the current and future design of Microsoft Dynamics CRM by working directly with the product team. Our continuous learning environment expects that you will develop ever increasing depth skills as a subject matter expert. You will become the world’s best in your area of expertise.

This position will require you to work a rotational On-Call schedule. You may have the opportunity for some occasional domestic and or international travel.

Responsibilities:
Be part of a team and develop your skills as you solve complex technical issues in Microsoft Dynamics CRM.
Manage relationships with your customers and provide technical documentation for the troubleshooting steps.
Report software bugs and be an advocate for product improvement using customer suggestions.
Develop specialized expertise by supporting Microsoft Dynamics CRM. Document your knowledge and share that knowledge with others.
Use tools for debugging and root cause analysis.
Provide in-depth technical support for customer service delivery via telephone, written correspondence, or electronic service regarding technically complex, escalated problems.
Engage and collaborate with other Microsoft groups, including escalation teams and the development team, in gaining resolution to critical, complex issues.
Provide exceptional customer service in politically charged environments.
Represent Microsoft professionally in customer and partner onsite visits, where travel may be required.
Create advanced online technical content including Knowledge Base articles, training documents, blogs, etc.
Participate in planned team-wide shift rotations to cover business needs, including 24x7 “On-Call” responsibilities and extended (evening shift).
Present technical content to various audiences including customers, partners, and internal stakeholders.

Qualifications
Strong customer service, accurate and logical problem solving, and communication skills, plus the ability to work in a team environment.
Experience in creating technical documentation and sharing knowledge with others through training delivery and mentoring.
Strong debugging skills desired but not required, e.g. ability to read and analyze network traces, fiddler, SQL trace, etc.
Good knowledge of Microsoft SQL.
Excellent Communication Skills - spoken and written English (including technical writing).
Passion for lifelong learning and personal and professional development.
Three or more year’s industry experience with Microsoft stack technologies.
Current Microsoft IT Certification preferred (Ex. MCSE, MCSA, MCSD, MCTS (Dynamics CRM)
Exposure and experience working with customers on Microsoft Cloud products such as Azure, Office 365, or Microsoft CRM is preferred but not required.
Programming skills are useful but not required, preferably in C
Degree in Management Information Systems, Computer Science, Computer Information Systems, Computer Engineering (preferred)

Editing Dynamics CRM data in Excel