[Dovecot] Problem using Apple Mail with Dovecot (fwd)
jfesler at gigo.com
Tue Aug 29 22:00:50 EEST 2006
---------- 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
Built with: ./configure --prefix=/usr/local
OS: FreeBSD 4.10-STABLE i386 running on ufs
Mac OS X 10.4.7, using Apple Mail client.
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.
* 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
return the hierarchy delimiter and the root name of the name
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
hierarchy delimiter even when no mailboxes by that name currently
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
More information about the dovecot