If you are experiencing an issue where the IMAP clients are not able to connect on the Exchange Server 2013/2016 server, and when trying to telnet the 143/993 port the connection drops automatically, then this Tutorial may shed some light on your issue. The error message when trying to test IMAP connectivity is listed below.
Microsoft.Exchange.Monitoring.ProtocolException: Authentication failed. The connection is being closed.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.Server response while making connection:
If the environment does not have a pro-active monitoring system, such as System Center Operations Manager (SCOM) the end-user is the first to complain that a service (in this case IMAP) is not working. Some administrators won’t be aware until the problem is affecting a lot of end-users.
Using Exchange Management Shell, we can easily test the IMAP connectivity (the same applies for other protocols such as MAPI and POP), using the following cmdlet, you may have noticed that we are using | fl which gives more information, especially when we have an error like the one shown in the figure below.
Test-IMAPConnectivity | fl
If you haven’t changed the IMAP authentication settings and without changes the error started occurring, then we need to look for other culprits for the issue. A good start is to check the server component state and we can use the following cmdlet. If you have the state inactive for the IMAP component, then bingo! we found the culprit.
In order to fix, we can bring the component to a health state running the following cmdlet.
Set-ServerComponentState –Identity <Server-Name> –Component imapproxy –State active –Requester HealthAPI
In order to check if the server is back up, run the same Get-ServerComponentState <ServerName> and if it shows active we can try to execute the Test-IMAPConnectivity cmdlet again.
Now, using the Test-IMAPConnectivity we have Sucdess as result of the test.