We are working on a server application that will be monitoring many IMAP mailboxes and were hoping to user IDLE support to help with this.
Your docs mention IDLE support: http://www.chilkatsoft.com/refdoc/csImapRef.html
We were wondering whether or not your IDLE implementation required a thread to remain open for every IDLE'ing connection?
The IMAP IDLE feature, as defined in RFC 2177, is such that only updates for the currently selected mailbox are pushed by the IMAP server. That mailbox would typically be the INBOX, but doesn't have to be.
You would need one separate IMAP session (TCP connection) per IDLE. However, this doesn't mean your program must be multi-threaded. It can all be in a single thread. For example, you may begin idling on many connections. Your app would then need to periodically check each connection (via the IdleCheck method) to see what notifications have arrived, if any.