[Dovecot] Namespace, prefix questions
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?
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.
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?
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.
dovecot -n # 2.0.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-220.4.1.el6.x86_64 x86_64 CentOS release 6.2 (Final) disable_plaintext_auth = no listen = * 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 } namespace { hidden = yes list = no location = mbox:~/mail:INBOX=/var/spool/mail/%u prefix = "#mbox/" separator = / type = private } namespace { hidden = yes list = no location = prefix = mail/ separator = / type = private } namespace { hidden = yes list = yes location = mbox:~/mail:INBOX=/var/spool/mail/%u prefix = ~/mail/ separator = / type = private } namespace { hidden = yes list = no location = prefix = ~%u/mail/ separator = / type = private } passdb { driver = pam } protocols = pop3 imap ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { driver = passwd } protocol pop3 { pop3_uidl_format = %08Xu%08Xv }
Thanks
steve campbell
Thanks
steve campbell
On 3/27/2012 10:40 AM, 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?
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.
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?
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.
dovecot -n # 2.0.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-220.4.1.el6.x86_64 x86_64 CentOS release 6.2 (Final) disable_plaintext_auth = no listen = * 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 } namespace { hidden = yes list = no location = mbox:~/mail:INBOX=/var/spool/mail/%u prefix = "#mbox/" separator = / type = private } namespace { hidden = yes list = no location = prefix = mail/ separator = / type = private } namespace { hidden = yes list = yes location = mbox:~/mail:INBOX=/var/spool/mail/%u prefix = ~/mail/ separator = / type = private } namespace { hidden = yes list = no location = prefix = ~%u/mail/ separator = / type = private } passdb { driver = pam } protocols = pop3 imap ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { driver = passwd } protocol pop3 { pop3_uidl_format = %08Xu%08Xv }
Thanks
steve campbell
Thanks
steve campbell
After googling a bit, it seems that all 3 can come into play in the same or different meanings. Seems that prefix and namespace mean the same thing. Root folder can mean the same as above, but can also stand alone as an individual pointer to a personal folder that differs from from what the imap server uses.
It's still not clear to me, but at least I'm getting an idea of what may or may not work. Still not sure why the null or blank prefixed namespace doesn't take precedence when nothing is set in the client.
steve
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.
participants (2)
-
Steve Campbell
-
Timo Sirainen