eM Client got error for IMAP in Zoho

Hello,

I have configured IMAP for my account

  1. enabled IMAP in zoho acc
  2. added application specific password, since OTP is enabled
  3. configured em Client with
    image

and got error

17:49:05.555|001| AccountBase.ChangeOnlineState : STATE CHANGE TO online due User
17:49:05.555|001| eM Client 8.2.1659.0
17:49:05.557|081| >>> ListFoldersAsync(): Start
17:49:05.557|081| 01:   Connecting to imappro.zoho.eu:993...
17:49:05.559|019| >>> Starting account synchronization
17:49:35.605|019| 01: --- CLOSE: PRIMARY START
17:49:35.606|08A| 01: A1 LOGOUT
17:49:35.611|019| 01: --- RECEIVE: EXCEPTION: System.IO.IOException: Unable to read data from the transport connection: The remote host forcibly terminated the existing connection..
 ---> System.Net.Sockets.SocketException (10054): The remote host forcibly terminated the existing connection.
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
   at MailClient.Imap.Base.Extensions.CopyToAsyncWithTimer(Stream source, PipeWriter writer, TimeoutTimer timer, ITaskSource readDemandSource, Action`1 loggingCallback, CancellationToken cancellationToken)
   at MailClient.Imap.Base.TransportPipe.StartReading(Stream stream, CancellationToken token)
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
   at MailClient.Imap.Base.Extensions.<>c__DisplayClass30_0.<<ReadLineAsync>g__SlowAsyncPath|1>d.MoveNext()
--- End of stack trace from previous location ---
   at MailClient.Imap.Base.TransportPipe.LoggingHandler(PipeReader fromReader, PipeWriter toWriter, CancellationToken cancellationToken, String name)
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
   at MailClient.Imap.Base.Extensions.<>c__DisplayClass30_0.<<ReadLineAsync>g__SlowAsyncPath|1>d.MoveNext()
--- End of stack trace from previous location ---
   at MailClient.Imap.Base.Connection.ReceiveAsync()
17:49:35.611|019| 01: --- RECEIVE: CLOSED
17:49:35.611|019| 01: --- CLOSE: SECONDARY START
17:49:35.918|019| 01: --- CMD LOGOUT WAS CANCELLED
17:49:35.918|019| 01: --- CLOSE: LOGOUT TIMED-OUT !!!!!!!!!!!!!!!
17:49:35.919|019| 01: --- CLOSE: PRIMARY FINISHED
17:49:35.919|08A| 01: --- CLOSE: SECONDARY FINISHED
17:49:35.923|081| >>> COMMAND CONNECTION EXCEPTION (retry: True): MailClient.Accounts.ConnectionException: Failed opening connection to server.
 ---> System.IO.IOException: No server response within 30 second timeout.
   at MailClient.Imap.Base.Connection.ConnectAsync(Func`2 getStream, CancellationToken cancellationToken)
   at MailClient.Protocols.Imap.ConnectionPoolEntry.ConnectInternalAsync(CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at MailClient.Protocols.Imap.ConnectionPoolEntry.ConnectInternalAsync(CancellationToken cancellationToken)
   at MailClient.Protocols.Imap.ConnectionPoolEntry.ConnectInternalAsync(CancellationToken cancellationToken)
   at MailClient.Protocols.Imap.ConnectionPool.AcquireConnectionAsync(Folder mailFolder, Boolean noSelect)
   at MailClient.Protocols.Imap.ConnectionContext.CreateContextAsync(ImapAccount account)
   at MailClient.Protocols.Imap.ImapFolderSynchronizer.ListFoldersAsync(IListFoldersProgress progress, Folder homeFolder, CancellationToken cancellationToken)
   at MailClient.Protocols.Imap.ImapFolderSynchronizer.GetFolderList(IListFoldersProgress progress, Folder homeFolder, CancellationToken cancellationToken)
   at MailClient.Protocols.Common.FolderSynchronizer.<>c__DisplayClass14_1.<EnqueueGetFolderList>b__0(WorkerStatus status, CancellationToken cancellationToken)
   at MailClient.Protocols.Imap.ImapActionCommand.<>c__DisplayClass13_0.<.ctor>b__0(WorkerStatus ws, CancellationToken ct)
   at MailClient.Protocols.Imap.ImapActionCommand.ExecuteInternalSync(WorkerStatus status)
   at MailClient.Protocols.Imap.ImapActionCommand.Execute(WorkerStatus status)
17:49:35.923|081| >>> ListFoldersAsync(): Start
17:49:35.923|081| 02:   Connecting to imappro.zoho.eu:993...
17:50:05.999|06B| 02: --- CLOSE: PRIMARY START

SMTP works fine

could you please help me to resolve the issue?

P.S link to the topic in zoho forum https://help.zoho.com/portal/en/community/topic/em-client-got-error-for-imap

I use Zoho as well with one of my accounts. It works normally on eMC on port 993. However:

  • Security policy is set to “SSL/TLS on special port (Legacy)”
  • “Use identity credentials” is checked.

You will be asked for your credentials later in the process or the first time you check your mail.

1 Like

Thank you!

this has helped
SSL/TLS on special port (Legacy)

BR,
Pavlo

1 Like