---------- Forwarded message ---------- From: Bruce Arthur <barthur at apple.com> To: dovecot at dovecot.org Cc: Bruce Arthur <barthur at apple.com> Date: Tue, 29 Aug 2006 09:04:35 -0700 Subject: Problem using Apple Mail with Dovecot Server Configuration: dovecot-1.0.rc6 Built with: ./configure --prefix=/usr/local OS: FreeBSD 4.10-STABLE i386 running on ufs Client configuration Mac OS X 10.4.7, using Apple Mail client. Issue: Apple Mail is able to connect to the server, but it is not seeing the available folder correctly. I did a little debugging and it looks like dovecot is failing to provide the separator in response to the LIST command. I did not spend anytime trying to figure out how other mail clients are getting this (my tcpdump is a little rusty these days). Here is what I see Mail sending to the server, and it's responses. 1 LOGIN applecot ******** 1 OK Logged in. 2 CAPABILITY * CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS 2 OK Capability completed. 3 LIST "" "" 3 OK List completed. The "LIST" command should be sending back the mailbox separator. The IMAP spec seems pretty clear about this (but reading RFC's is always a bit of a challenge). From the RFC: http://www.ietf.org/rfc/rfc2060.txt 6.3..8. LIST Command Arguments: reference name mailbox name with possible wildcards Responses: untagged responses: LIST Result: OK - list completed NO - list failure: can't list that reference or name BAD - command unknown or arguments invalid An empty ("" string) reference name argument indicates that the mailbox name is interpreted as by SELECT. The returned mailbox names MUST match the supplied mailbox name pattern. A non-empty reference name argument is the name of a mailbox or a level of mailbox hierarchy, and indicates a context in which the mailbox name is interpreted in an implementation-defined manner. An empty ("" string) mailbox name argument is a special request to return the hierarchy delimiter and the root name of the name given in the reference. The value returned as the root MAY be null if the reference is non-rooted or is null. In all cases, the hierarchy delimiter is returned. This permits a client to get the hierarchy delimiter even when no mailboxes by that name currently exist. Example: C: A101 LIST "" "" S: * LIST (\Noselect) "/" "" S: A101 OK LIST Completed C: A102 LIST #news.comp.mail.misc "" S: * LIST (\Noselect) "." #news. S: A102 OK LIST Completed C: A103 LIST /usr/staff/jones "" S: * LIST (\Noselect) "/" / S: A103 OK LIST Completed C: A202 LIST ~/Mail/ % S: * LIST (\Noselect) "/" ~/Mail/foo S: * LIST () "/" ~/Mail/meetings S: A202 OK LIST completed -- Bruce