> 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".