With Exchange Server 2013 going end-of-life on the 11th of April 2023 a few customers have decided to update their on-prem servers to a version that is still supported. I had an issue with a specific Exchange 2019 installation.
Scenario
The installation that presented the issue had the following configuration:
- New domain
- New server (Windows 2022)
- Exchange 2019 Cumulative Update (CU) 12
I migrated various parameters from the previous installation (Exchange 2013) including the list of accepted domains
Problem
The main issues were:
- Outlook app on Android and iPhone not sending or receiving email (the profile was created with autodiscover and that step presented no issue)
- An error 4999 presented in the application log as shown in the following image (I have added the full text of the error at the end of this post)
Solution
The solution was to remove all the wildcard (asterisks) from the accepted domain names (a configuration that was working with no issue in the previous version of Exchange).
You can make change from Mail flow > Accepted domains or via PowerShell Procedures for accepted domains in Exchange Server
So, the only format I had was nomedomain.com (with no empty spaces or special character in the domain description too)
Notes
After a quick check on the Microsoft documentation, * is still accepted to manage subdomains. Quoting: “An accepted domain can be a single domain (contoso.com) or a domain with subdomains (*.contoso.com). Accepted domains are a global setting for the Exchange organization, and you can have multiple accepted domains of the same or different types.” Accepted domains in Exchange Server
Full text from the error:
“Watson report about to be sent for process id: 9924, with parameters: E12, c-RTL-AMD64, 15.02.1118.026, w3wp#MSExchangeSyncAppPool, MSExchange ActiveSync, Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain, UnexpectedCondition:ArgumentException, d965, 15.02.1118.026.
ErrorReportingEnabled: True
exData=|exHResult=|exStacktrace=at Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain(String imceaDomain)
at Microsoft.Exchange.Data.Storage.OutboundConversionOptions..ctor(String imceaDomain)
at Microsoft.Exchange.AirSync.Common.AirSyncUtility.GetOutboundConversionOptions()
at Microsoft.Exchange.AirSync.Common.SchemaConverter.Common.BodyUtility.ConvertItemToMime(Item item)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.XSO.XsoContentProperty.get_MIMEData()
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncContentProperty.InternalCopyFrom(IProperty sourceProperty)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncContent14Property.InternalCopyFrom(IProperty sourceProperty)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncSetToDefaultStrategy.ExecuteCopyProperty(IProperty srcProperty, AirSyncProperty dstAirSyncProperty)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncDataObject.CopyFrom(IProperty srcRootProperty)
at Microsoft.Exchange.AirSync.Common.SyncCollection.ConvertServerToClientObject(ISyncItem syncItem, XmlNode airSyncParentNode, SyncOperation changeObject, GlobalInfo globalInfo)
at Microsoft.Exchange.AirSync.Common.SyncCollection.CreateApplicationDataNode(XmlDocument xmlResponse, ISyncItemId itemId, GlobalInfo globalInfo, ProtocolLogger protocolLogger, MailboxLogger mailboxLogger, XmlNode& applicationNode)|exTargetSite=MSExchange ActiveSync Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain|exSource=|exMessage=|exComplete=
Log Name: Application
Source: MSExchange Common
Date: 5/31/2023 10:23:46 AM
Event ID: 4999
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: XXXXXXXXXXXX
Description:
Watson report about to be sent for process id: 9924, with parameters: E12, c-RTL-AMD64, 15.02.1118.026, w3wp#MSExchangeSyncAppPool, MSExchange ActiveSync, Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain, UnexpectedCondition:ArgumentException, d965, 15.02.1118.026.
ErrorReportingEnabled: True
exData=|exHResult=|exStacktrace=at Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain(String imceaDomain)
at Microsoft.Exchange.Data.Storage.OutboundConversionOptions..ctor(String imceaDomain)
at Microsoft.Exchange.AirSync.Common.AirSyncUtility.GetOutboundConversionOptions()
at Microsoft.Exchange.AirSync.Common.SchemaConverter.Common.BodyUtility.ConvertItemToMime(Item item)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.XSO.XsoContentProperty.get_MIMEData()
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncContentProperty.InternalCopyFrom(IProperty sourceProperty)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncContent14Property.InternalCopyFrom(IProperty sourceProperty)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncSetToDefaultStrategy.ExecuteCopyProperty(IProperty srcProperty, AirSyncProperty dstAirSyncProperty)
at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncDataObject.CopyFrom(IProperty srcRootProperty)
at Microsoft.Exchange.AirSync.Common.SyncCollection.ConvertServerToClientObject(ISyncItem syncItem, XmlNode airSyncParentNode, SyncOperation changeObject, GlobalInfo globalInfo)
at Microsoft.Exchange.AirSync.Common.SyncCollection.CreateApplicationDataNode(XmlDocument xmlResponse, ISyncItemId itemId, GlobalInfo globalInfo, ProtocolLogger protocolLogger, MailboxLogger mailboxLogger, XmlNode& applicationNode)|exTargetSite=MSExchange ActiveSync Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain|exSource=|exMessage=|exComplete=
Event Xml:
4999 0 2 1 0 0x80000000000000 725276 Application XXXXXXXXXXXXXXXXXXX 9924 E12 c-RTL-AMD64 15.02.1118.026 w3wp#MSExchangeSyncAppPool MSExchange ActiveSync Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain UnexpectedCondition:ArgumentException d965 15.02.1118.026 True False w3wp#MSExchangeSyncAppPool exData=|exHResult=|exStacktrace=at Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain(String imceaDomain) at Microsoft.Exchange.Data.Storage.OutboundConversionOptions..ctor(String imceaDomain) at Microsoft.Exchange.AirSync.Common.AirSyncUtility.GetOutboundConversionOptions() at Microsoft.Exchange.AirSync.Common.SchemaConverter.Common.BodyUtility.ConvertItemToMime(Item item) at Microsoft.Exchange.AirSync.Common.SchemaConverter.XSO.XsoContentProperty.get_MIMEData() at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncContentProperty.InternalCopyFrom(IProperty sourceProperty) at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncContent14Property.InternalCopyFrom(IProperty sourceProperty) at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncSetToDefaultStrategy.ExecuteCopyProperty(IProperty srcProperty, AirSyncProperty dstAirSyncProperty) at Microsoft.Exchange.AirSync.Common.SchemaConverter.AirSync.AirSyncDataObject.CopyFrom(IProperty srcRootProperty) at Microsoft.Exchange.AirSync.Common.SyncCollection.ConvertServerToClientObject(ISyncItem syncItem, XmlNode airSyncParentNode, SyncOperation changeObject, GlobalInfo globalInfo) at Microsoft.Exchange.AirSync.Common.SyncCollection.CreateApplicationDataNode(XmlDocument xmlResponse, ISyncItemId itemId, GlobalInfo globalInfo, ProtocolLogger protocolLogger, MailboxLogger mailboxLogger, XmlNode& applicationNode)|exTargetSite=MSExchange ActiveSync Microsoft.Exchange.Data.Storage.InboundConversionOptions.CheckImceaDomain|exSource=|exMessage=|exComplete=”