An error occurred while opening mailbox Microsoft.Crm.Tools.Email.Providers.
Whenever I check how CRM is doing internally I always check the event viewer to see if there’s anything going wrong with Dynamics CRM. The most common error I see in the event viewer is:
#26090 – An error occurred while opening mailbox ‘user@domain.com’. Microsoft.Crm.Tools.Email.Providers.EmailException: The remote Microsoft Exchange e-mail server returned the error “(401) Unauthorized”. Verify that you have permission to connect to the mailbox. —> System.Net.WebException: The request failed with HTTP status 401: Unauthorized. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.Crm.Tools.Email.Providers.ExchangeServiceBinding.ResolveNames(ResolveNamesType ResolveNames1) at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.IsCurrentUser() at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.GetService() at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.OpenMailbox() at Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider.InitExchangeConnector() — End of inner exception stack trace — at Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider.WrapException(Exception e) at Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider.InitExchangeConnector() at Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider.OpenMailbox() at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.Run()\r\nSystem.Net.WebException: The request failed with HTTP status 401: Unauthorized. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.Crm.Tools.Email.Providers.ExchangeServiceBinding.ResolveNames(ResolveNamesType ResolveNames1) at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.IsCurrentUser() at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.GetService() at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.OpenMailbox() at Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider.InitExchangeConnector()
This issue is actually fairly simple to solve, and you can these details in less detail by opening the ‘Microsoft Dynamics CRM E-mail Router Configuration Manager’, clicking the ‘Users, Queues and Forward Mailboxes’ tab, selecting ‘Load Data’.
Once you’ve done that, click on the mailbox where the error is showing up (user@domain.com) and press ‘Test Access’, you should then see something along the lines of:
The solution to this is:
- Check the ‘E-Mail Access Configuration’ settings are correct (User administration in CRM) - That the username and password in the users queue is correct (‘Queue Information -> ‘Configure Credentials for E-Mail Router’ - Log into CRM as the user, go into personal settings (File -> Options -> Email) and make sure the username and password there is correct.
If all the settings have been corrected, re-test user access and you should now see the following:
Note: If this fails to work, usually Exchange is having an issue or the email configuration itself needs to be reconfigured to meet any network changes you might have made.
Cheers,