Hi, I'm migrating from Courier to Dovecot and would like to keep the original namespace and add two new ones on the new server. There's only one namespace in Courier which is "INBOX." . The seperator is "." In the new server I would like to have 3 namespaces (private, public, shared) and use "/" as separator. Is it possible to keep "INBOX." for private, so that the users mailboxes appear below the Inbox, but have public and shared on the same hierarchy-level like the Inbox? When I set prefix to "INBOX/" for private I get the users mailboxes below the Inbox, like I have it Courier now. But then at least the public, probably also the shared namespace doesn't work any more. I get "unknown subscription namespace" when trying to subscribe to some of the folders. My current configuration is: namespace: type: private separator: / inbox: yes list: yes subscriptions: yes namespace: type: public separator: / prefix: public/ location: maildir:/var/vmail/example.com/public list: yes namespace: type: shared separator: / prefix: shared/%%u/ location: maildir:%%h/Maildir list: yes warm regards, Tom
On 1.4.2012, at 10.28, Tom Fernandes wrote:> I'm migrating from Courier to Dovecot and would like to keep the original > namespace and add two new ones on the new server. > > There's only one namespace in Courier which is "INBOX." . The seperator is "." > > In the new server I would like to have 3 namespaces (private, public, shared) > and use "/" as separator. Is it possible to keep "INBOX." for private, so that > the users mailboxes appear below the Inbox, but have public and shared on the > same hierarchy-level like the Inbox? > > When I set prefix to "INBOX/" for private I get the users mailboxes below the > Inbox, like I have it Courier now. But then at least the public, probably also > the shared namespace doesn't work any more. I get "unknown subscription > namespace" when trying to subscribe to some of the folders.If you have any subscriptions=no namespaces, you need a parent namespace that has subscriptions=yes. You could have e.g.: namespace { prefix = INBOX/ list = no inbox = yes } namespace { prefix list = no hidden = yes alias_for = INBOX/ } So now the prefix="" is used for the subscriptions but nothing else really. Anyway, INBOX/ isn't the same as INBOX. so if any client configs are using INBOX. as namespace prefix then they don't work with INBOX/.
Am 04.04.2012 03:47, schrieb Timo Sirainen:> On 1.4.2012, at 10.28, Tom Fernandes wrote: > >> In the new server I would like to have 3 namespaces (private, public, shared) >> and use "/" as separator. Is it possible to keep "INBOX." for private, so that >> the users mailboxes appear below the Inbox, but have public and shared on the >> same hierarchy-level like the Inbox? >> > > If you have any subscriptions=no namespaces, you need a parent namespace that has subscriptions=yes. You could have e.g.: > > namespace { > prefix = INBOX/ > list = no > inbox = yes > } > namespace { > prefix > list = no > hidden = yes > alias_for = INBOX/ > } > > So now the prefix="" is used for the subscriptions but nothing else really.I tried this, but sadly with dovecot V2.1.1 it is not working. Steps to reproduce: + create empty mail directory + create one folder (Allgemeines/Tabel) in public namespace with doveadm + start mail-client (in my case thunderbird) + try to subscribe to the new public folder Error message in log: Apr 18 18:19:34 elablnmail02 dovecot: imap(ahelmcke): Warning: Subscriptions file /home/mail/user/ahelmcke/subscriptions: Removing invalid entry: Allgemeines/Tabel doveconf -n: # 2.1.1: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-220.7.1.el6.x86_64 x86_64 CentOS release 6.2 (Final) ext4 auth_master_user_separator = * first_valid_uid = 400 mail_gid = vmail mail_location = maildir:/home/mail/user/%u mail_uid = vmail mbox_write_locks = fcntl namespace Allgemeines { location maildir:/home/mail/Allgemeines:INDEX=/home/mail/user/%u/SEEN.Allgemeines prefix = Allgemeines/ separator = / subscriptions = no type = public } namespace dummy { alias_for = INBOX/ hidden = yes list = no location prefix separator = / type = private } namespace inbox { inbox = yes location mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = INBOX/ separator = / type = private } passdb { args = /etc/dovecot/passwd.masterusers driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf driver = ldap } plugin { acl = vfile sieve = /var/lib/dovecot/sieve/%u.sieve sieve_global_dir = /var/lib/dovecot/sieve/global/ sieve_global_path = /var/lib/dovecot/sieve/default.sieve } protocols = imap lmtp service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 } } service imap-login { inet_listener imap { address = * } inet_listener imaps { address = * } } ssl = required ssl_cert = </etc/pki/dovecot/certs/mail.ela-soft.com.crt ssl_key = </etc/pki/dovecot/private/mail.ela-soft.com.2048bit.nopp.key userdb { args = /etc/dovecot/dovecot-ldap.conf driver = ldap } Any ideas? Greetings Andreas
Am 04.04.2012 03:47, schrieb Timo Sirainen:> On 1.4.2012, at 10.28, Tom Fernandes wrote: > >> In the new server I would like to have 3 namespaces (private, public, shared) >> and use "/" as separator. Is it possible to keep "INBOX." for private, so that >> the users mailboxes appear below the Inbox, but have public and shared on the >> same hierarchy-level like the Inbox? >> > > If you have any subscriptions=no namespaces, you need a parent namespace that has subscriptions=yes. You could have e.g.: > > namespace { > prefix = INBOX/ > list = no > inbox = yes > } > namespace { > prefix > list = no > hidden = yes > alias_for = INBOX/ > } > > So now the prefix="" is used for the subscriptions but nothing else really.I tried this, but sadly with dovecot V2.1.1 it is not working. Steps to reproduce: + create empty mail directory + create one folder (Allgemeines/Tabel) in public namespace with doveadm + start mail-client (in my case thunderbird) + try to subscribe to the new public folder Error message in log: Apr 18 18:19:34 elablnmail02 dovecot: imap(ahelmcke): Warning: Subscriptions file /home/mail/user/ahelmcke/subscriptions: Removing invalid entry: Allgemeines/Tabel doveconf -n: # 2.1.1: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-220.7.1.el6.x86_64 x86_64 CentOS release 6.2 (Final) ext4 auth_master_user_separator = * first_valid_uid = 400 mail_gid = vmail mail_location = maildir:/home/mail/user/%u mail_uid = vmail mbox_write_locks = fcntl namespace Allgemeines { location maildir:/home/mail/Allgemeines:INDEX=/home/mail/user/%u/SEEN.Allgemeines prefix = Allgemeines/ separator = / subscriptions = no type = public } namespace dummy { alias_for = INBOX/ hidden = yes list = no location prefix separator = / type = private } namespace inbox { inbox = yes location mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = INBOX/ separator = / type = private } passdb { args = /etc/dovecot/passwd.masterusers driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf driver = ldap } plugin { acl = vfile sieve = /var/lib/dovecot/sieve/%u.sieve sieve_global_dir = /var/lib/dovecot/sieve/global/ sieve_global_path = /var/lib/dovecot/sieve/default.sieve } protocols = imap lmtp service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 } } service imap-login { inet_listener imap { address = * } inet_listener imaps { address = * } } ssl = required ssl_cert = </etc/pki/dovecot/certs/mail.ela-soft.com.crt ssl_key = </etc/pki/dovecot/private/mail.ela-soft.com.2048bit.nopp.key userdb { args = /etc/dovecot/dovecot-ldap.conf driver = ldap } Any ideas? Greetings Andreas