Trying to save a draft message, that will exceed the
quota, fails with a cryptic message (server specific)...
Ether SM needs to support LITERAL+ extension, or look
wait for the "+ OK" or a "NO" error message from the
server.
See following taken from email on dovecot list (server
tested with).
Thanks
Tim
SquirrelMail: 1.5.1
Apache: 1.3.33
PHP: 4.3.10-16
IMAP Server: Dovecot beta8
Extracted from email on dovecot list:
A working APPEND goes like this:
C: 1 APPEND "Drafts" {1000}
S: + OK
C: <sends 1000 bytes of message>
S: 1 OK Append completed.
In out-of-quota situations Squirrelmail does this:
C: 1 APPEND "Drafts" {1000}
S: 1 NO Quota exceeded
C: <sends 1000 bytes of message anyway>
With literal+ this happens:
C: 1 APPEND "Drafts" {1000+}
C: <sends 1000 bytes of message>
S: 1 NO Quota exceeded.
So the literal+ allows client to send the data without
actually waiting
to see if server replies with "+" or "NO".
Logged In: YES
user_id=225877
Issue is specific to 1.5.x. In SquirrelMail 1.4.x
sqimap_append() and sqimap_append_checkresponse() functions
check IMAP response before code tries to save message.