[Dovecot] Problem using Apple Mail with Dovecot (fwd)

Jason Fesler 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

Server Configuration:
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.

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

-- Bruce

More information about the dovecot mailing list