MBOX-Line: From lozhkarev at googlemail.com  Tue Jul  8 08:02:25 2008
To: imap-protocol@u.washington.edu
From: =?KOI8-R?B?7snLz8zByiDsz9bLwdLF1w==?= <lozhkarev@googlemail.com>
Date: Fri Jun  8 12:34:42 2018
Subject: [Imap-protocol] IMAP server mail transfer simulation
Message-ID: <56b1f8870807080802p4bea379bi5185e9aff1b33585@mail.gmail.com>

Hello, I'm developing IMAP proxy server to check attachments.

(mail client) <-> (my proxy) <-> (real IMAP server)

Proxy does simple work: transmitting client requests and server responses.
Problem appears when client requests some message from server, but proxy
can't response to client while it not download full message from real server
(Proxy must check attachment before transmitting it). The message may be
very large and downloading may take much time. If client has some timeout it
may decide that server failed.

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?*

---------------------------------------------------------------
Nickolay Lozhkarev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20080708/a87d5a1c/attachment.html>
