Archived Forum Post

Index of archived forum posts


IMAP Idle support and threads

May 06 '14 at 13:05

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:

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.