[Imap-protocol] Unsolicited server responses

Gene Smith gds at chartertn.net
Thu Nov 29 11:34:19 PST 2018

On 10/17/18 20:17, Aaron Burrow wrote:


> Given that the server can unilaterally send updates to the client, why

> was the IDLE extension useful/necessary?

I'm no expert but I don't think I have seen an IMAP server that sends
unsolicited EXISTS or EXPUNGE responses when not in IDLE mode. These
untagged responses only occur in idle or when a client request occurs
first, e.g., NOOP. But you are right, RFC 3501 does say that the server
MAY send untagged messages at any time without a client request
occurring first.

The IDLE RFC 2177 gives a hint as to why IDLE is needed with this

"While the spec [RFC3501 I assume] actually does allow a server to push
EXISTS responses asynchronously, a client can't expect this behavior and
must poll."

So the IDLE capability and command provide a way for the client to know
for sure that asynchronous responses can occur and prepare to receive
them and not have to poll.

I have recently been contributing to the Thunderbird imap code. I am not
sure that it will correctly respond to unsolicited/asynchronous (out of
the blue) EXISTS responses unless idle mode has been entered, although
per RFC 3501 all clients should.


More information about the Imap-protocol mailing list