<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">Hi,</p>

<p dir="auto">this is a technical email for the few people interested in some low-level details of the QUOTA support in MailMate.</p>

<p dir="auto">As some of you probably have noticed then the new QUOTA feature has had various problems with specific servers. I believe most of those issues are fixed now. The last couple of problems were server bugs and I just wanted to share them in case someone wonders what MailMate is doing to work around them.</p>

<p dir="auto">The first one results in behavior like this:</p>

<pre style="background-color:#F7F7F7; border-radius:5px 5px 5px 5px; margin-left:15px; margin-right:15px; max-width:90vw; overflow-x:auto; padding:5px" bgcolor="#F7F7F7"><code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0" bgcolor="#F7F7F7">...
S: * LIST (\HasChildren) "." INBOX
S: A5 OK List completed (0.001 + 0.000 secs).
C: A6 GETQUOTAROOT "INBOX"
S: A6 NO Internal quota calculation error (0.001 + 0.000 secs).
</code></pre>

<p dir="auto">MailMate didn't handle the <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">NO</code> response gracefully, but it still indicates some kind of server issue (this was Dovecot). I've changed it such that MailMate just continues as if QUOTA was not supported.</p>

<p dir="auto">The second one is worse:</p>

<pre style="background-color:#F7F7F7; border-radius:5px 5px 5px 5px; margin-left:15px; margin-right:15px; max-width:90vw; overflow-x:auto; padding:5px" bgcolor="#F7F7F7"><code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0" bgcolor="#F7F7F7">C: A1 CAPABILITY
S: * CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 ACL RIGHTS=tekx CONDSTORE ENABLE QRESYNC QUOTA NAMESPACE UIDPLUS CHILDREN BINARY UNSELECT SORT CATENATE URLAUTH LANGUAGE ESEARCH ESORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES CONTEXT=SEARCH CONTEXT=SORT WITHIN SASL-IR SEARCHRES METADATA ID XMSEARCH XSENDER X-SUN-SORT ANNOTATE-EXPERIMENT-1 X-UNAUTHENTICATE X-SUN-IMAP XUM1 MULTISEARCH IDLE
S: A1 OK !!
C: A4 LIST "" "*"
S: * LIST (\Noinferiors) "/" "INBOX"
S: * LIST () "/" "Archive"
    ...
S: A4 OK LIST completed (took 25 ms)
C: A5 GETQUOTAROOT "INBOX"
S: A5 BAD Parse Error
</code></pre>

<p dir="auto">The server claims to support QUOTA, but then fails with a <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">BAD</code> error which is the server's way of saying that MailMate did something wrong with its command (which is not true). This is an iCloud server, but the problem only exists for some iCloud servers. For some reason Apple do not use the exact same IMAP server implementation on all of their servers. This is also the main reason I'm writing this email. I wanted to write down why some users might have QUOTA support for an iCloud account and others do not (or maybe even the same user at different times).</p>

<p dir="auto">The workaround in the latest test release of MailMate is to “temporarily” disable the QUOTA support whenever receiving the <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">BAD</code> response as seen above.</p>

<p dir="auto">-- <br>
Benny</p>
</div>
</div>
</body>
</html>