MBOX-Line: From dkarp at zimbra.com  Tue Jul  8 08:40:26 2008
To: imap-protocol@u.washington.edu
From: Dan Karp <dkarp@zimbra.com>
Date: Fri Jun  8 12:34:42 2018
Subject: [Imap-protocol] IMAP server mail transfer simulation
In-Reply-To: <169529773.13081215531416535.JavaMail.root@dogfood.zimbra.com>
Message-ID: <1801626431.13211215531626770.JavaMail.root@dogfood.zimbra.com>

> I tried to send "+ OK\r\n" periodically to client before real data
> preparing, and this method is helpful for some mail clients. For
> example:
> 
> C: f fetch 1 (body[])
> S: + OK // server send "+ OK\r\n" by timer while downloading full
> message
> S: + OK
> S: + OK
> ...
> S: * 1 FETCH (BODY[] {9876543} ....
> 
> but I think this way is not correct.
> 
> Is any IMAP protocol feature to simulate message downloading, to
> prevent client thinking about timeout?

Sending responses starting with "+" is almost certainly wrong.

   Command continuation request responses use the token "+" instead of a
   tag.  These responses are sent by the server to indicate acceptance
   of an incomplete client command and readiness for the remainder of
   the command.

You could probably send something like "* OK working" or "* NOOP".

