On 27.3.2012, at 17.40, Steve Campbell wrote:
We've got some users who are using Outlook Express version 6. The client allows me to specify the root folder, but not a prefix or namespace. I'm still struggling with some users on our new server that have crazy imap folder layouts, so I've got a few questions.
When I specify the root folder, does that bypass any namespace/prefix definitions on the imap server?
Like you noticed, these are pretty much the same things, since most clients don't understand about namespaces. And Dovecot doesn't "select" a namespace for clients. They mostly affect mailbox listing.. Like when a client asks Dovecot to list mailboxes under foo/, then Dovecot checks if a foo/ namespace exists.
On some clients, like Thunderbird, I have the option of specifying namespace OR prefix. How do these differ? I thought that the prefix was the "name" of the namespace.
I have no idea how Thunderbird handles them differently.
It appears that I have to delete and re-create the account on these OE 6 clients to make the list of folders show properly. Does that sound right?
Not really.
This all came about because one of these OE 6 users was not able to use their imap folders (server errors). Turns out it was one of the users that had their folders directly under ~. So I moved them to ~/mail, created a .subscriptions file from their .mailboxlist file and tried everything in the world to get the folders to list properly. Only after specifying the root folder as ~/mail after recreating the account and restarting OE did it show properly and the folders remained listed. My default config has this setup as the "mail_location" parm, but blanks as the root folder don't seem to work in this situation. I'm also wondering where I specify the "list", "hidden" and other parms that are usually set in namespace blocks. .. mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u mbox_write_locks = fcntl namespace { hidden = yes inbox = yes list = yes location = mbox:~/mail:INBOX=/var/spool/mail/%u prefix = separator = / type = private }
All of your namespaces have hidden=yes. There should be (at least) one with hidden=no (this prefix= namespace in your case). I guess I'll need to add a check to have Dovecot fail if there aren't any.
Also it's not necessary to duplicate the "location" setting, since it defaults to the global mail_location.
namespace { hidden = yes list = no location = mbox:~/mail:INBOX=/var/spool/mail/%u prefix = "#mbox/" separator = / type = private }
This namespace is unlikely to be useful to you, unless you actually have some IMAP client configured to use #mbox/ prefix.
namespace { hidden = yes list = yes location = mbox:~/mail:INBOX=/var/spool/mail/%u prefix = ~/mail/ separator = / type = private }
This shouldn't have list=yes .. I'm not sure what even happens with it. I guess if client lists all mailboxes from root you'll get a mailbox named "~", which has a "mail" child, which has all of your mailboxes duplicated.