We're using dovecot 2.1.3 and I've been doing some testing with 2.1.7. We have shared mail (maildir) folders working along with our default mbox mailboxes. Our problem is trying to get this to work in a reasonable fashion with our iPhone or iPad mail.app clients. It's well known that they don't honor the subscription list; they show all available mail folders and do not collapse trees of folders. I have 381 folders in directories under mail. Normal clients are fine, but this is unmanageable in IOS.
What we have been doing is changing the mail prefix for the iPhone to a subfolder, then using soft links to point to the most commonly used folders we use. This works, but when one changes the mail prefix, any shared folders are not presented. I'm suspicious that this is a design decision. If there is some way to make it work, I'd be very grateful.
Note the two 'sharedimap' folders listed in the first 'list'.
Note that if I change the prefix for that shared namespace to 'iphonemail/', it does present my shared folders as well as anything in a personal iphonemail directory. However, 'select' didn't work with the personal folders. My guess is it's mostly due to the difference in mail formats between the two (mbox & maildir). But, it does show that somewhere in the code it's checking the mail prefix against namespaces and not displaying shared folders in non-default prefixes. I wish this were a configurable option.
thank you
Tom Lieuallen Oregon State University
. list "" *
- LIST (\Noselect \HasChildren) "/" "foo1"
- LIST (\NoInferiors \UnMarked) "/" "foo1/folder1"
- LIST (\Noselect \HasChildren) "/" "iphonemail"
- LIST (\NoInferiors \Marked) "/" "iphonemail/foo1"
- LIST (\NoInferiors \UnMarked) "/" "Sent"
- LIST (\NoInferiors \UnMarked) "/" "Trash"
- LIST (\HasNoChildren) "/" "INBOX"
- LIST (\HasNoChildren) "/" "sharedimap/cesupport"
- LIST (\HasNoChildren) "/" "sharedimap/mimesupport" . OK List completed. . list "iphonemail/" *
- LIST (\NoInferiors \Marked) "/" "iphonemail/foo1" . OK List completed.
===============
# 2.1.7: /private/dovecot/etc/dovecot/dovecot.conf # OS: SunOS 5.10 sun4v auth_debug = yes auth_verbose = yes default_client_limit = 10245 default_process_limit = 5120 first_valid_uid = 100 mail_location = mbox:~/mail:INBOX=/var/mail/%u:INDEX=/a2/imap-index/%u mail_nfs_storage = yes mail_plugins = quota acl namespace { inbox = yes location = prefix = separator = / type = private } namespace { hidden = yes inbox = no list = children location = maildir:/a1/dove-shared:INDEX=/a2/imap-index/dove-shared/%u prefix = sharedimap/ separator = / type = shared } passdb { driver = pam } passdb { args = scheme=CRYPT username_format=%u /private/dovecot/etc/passwd driver = passwd-file } plugin { acl = vfile quota = fs:INBOX:mount=/a1 quota2 = fs:Home quota:mount=%h } protocols = imap lmtp service imap-login { inet_listener imaps { port = 993 ssl = yes } process_min_avail = 16 service_count = 1 } service imap { process_limit = 2048 } ssl_ca = </private/ssl/certs/SSL_CA_Bundle.pem ssl_cert = </private/ssl/certs/mail.crt ssl_key = </private/ssl/certs/mail.key userdb { driver = passwd } userdb { args = username_format=%u /private/dovecot/etc/passwd driver = passwd-file } protocol imap { mail_plugins = quota acl imap_quota imap_acl } protocol pop3 { pop3_uidl_format = %08Xv%08Xu }