[Dovecot] Public folders using NAMESPACE
Howdy folks!
I've been trying to research how to (or if possible at all) implement public folders using the namespace feature on a server with multiple virtual domains. After about an hour of looking around I'm a little confused. :) I guess there are two questions:
- Is it possible / does it work?
- If yes, does anyone have a sample configuration or write-up of How You Did It[TM] to share?
I've been mainly focusing on the thread from here:
http://www.dovecot.org/list/dovecot/2006-June/013683.html
and the wiki ACL documentation:
but I'm having a hard time piecing it all together...
Thanks for any and all tips!
--Jo
On Tue, 2007-04-17 at 02:14 -0700, Joakim Ryden wrote:
I've been trying to research how to (or if possible at all) implement public folders using the namespace feature on a server with multiple virtual domains. After about an hour of looking around I'm a little confused. :)
Did you read this? http://wiki.dovecot.org/SharedMailboxes
I now added a link there from ACL page.
On Tue, April 17, 2007 2:29 am, Timo Sirainen wrote:
On Tue, 2007-04-17 at 02:14 -0700, Joakim Ryden wrote:
I've been trying to research how to (or if possible at all) implement public folders using the namespace feature on a server with multiple virtual domains. After about an hour of looking around I'm a little confused. :)
Did you read this? http://wiki.dovecot.org/SharedMailboxes
I now added a link there from ACL page.
Thanks Timo! That's pretty helpful. I think I'm still missing something though. I have the following configuration:
namespace public { separator = . prefix = Public Folders. location = maildir:/var/mailstore/shared-folders/%d/Maildir }
namespace private { separator = . prefix = inbox = yes }
With this, "Public Folders" shows up (testing with Thunderbird) but not as an italic special folder (does that make sense?) as it does on all other accounts I have on other servers which support public folders. I created a folder here:
/var/mailstore/shared-folders/domain.com/Maildir/.Announcements
which also shows up nicely, I can copy email in there and subscribe and unsubsribe to this subfolder, but clicking on "Public Folders" gives: Mailbox doesn't exist: Public Folders. which I'm sure is because I've missed or misunderstood something :) Any ideas?
Cheers!
--Jo
On Tue, 2007-04-17 at 03:48 -0700, Joakim Ryden wrote:
With this, "Public Folders" shows up (testing with Thunderbird) but not as an italic special folder (does that make sense?) as it does on all other accounts I have on other servers which support public folders.
I think I heard that Thunderbird uses IMAP ACL extension to check if some mailbox is shared or not. Dovecot doesn't support IMAP ACL extension yet. Or it might be something else too I suppose.
which also shows up nicely, I can copy email in there and subscribe and unsubsribe to this subfolder, but clicking on "Public Folders" gives: Mailbox doesn't exist: Public Folders. which I'm sure is because I've missed or misunderstood something :) Any ideas?
Well, unfortunately that doesn't work. Dovecot doesn't currently support subscribing to namespace prefixes, only to mailboxes inside the namespace. You might be able to kludge around that by making the subscription go to the private namespace. Either manually updating the subscriptions file, or removing this code from src/imap/cmd-subscriptions.c:
if (!client_verify_mailbox_name(cmd, verify_name, subscribe, FALSE))
return TRUE;
Actually another problem you're going to have is those shared namespace subscriptions, unless you want to force every user to have same ones. If you don't, you'll need to set CONTROL path to user-specific directory.
For Dovecot v1.1 I'll try to figure out how to make all this work better.
Timo Sirainen wrote:
On Tue, 2007-04-17 at 03:48 -0700, Joakim Ryden wrote:
With this, "Public Folders" shows up (testing with Thunderbird) but not as an italic special folder (does that make sense?) as it does on all other accounts I have on other servers which support public folders.
I think I heard that Thunderbird uses IMAP ACL extension to check if some mailbox is shared or not. Dovecot doesn't support IMAP ACL extension yet. Or it might be something else too I suppose.
I think you're absolutely right.
which also shows up nicely, I can copy email in there and subscribe and unsubsribe to this subfolder, but clicking on "Public Folders" gives: Mailbox doesn't exist: Public Folders. which I'm sure is because I've missed or misunderstood something :) Any ideas?
Well, unfortunately that doesn't work. Dovecot doesn't currently support subscribing to namespace prefixes, only to mailboxes inside the namespace. You might be able to kludge around that by making the subscription go to the private namespace. Either manually updating the subscriptions file, or removing this code from src/imap/cmd-subscriptions.c:
if (!client_verify_mailbox_name(cmd, verify_name, subscribe, FALSE)) return TRUE;
Hmm, maybe I'm showing my lack of understanding of the inner workings of namespaces here (it is more than slightly possible!) but are you really supposed to be able to subscribe to a namespace? On other servers with this functionality that I have access to I think it's "selectable" but not "subscribable" per say.
Actually another problem you're going to have is those shared namespace subscriptions, unless you want to force every user to have same ones. If you don't, you'll need to set CONTROL path to user-specific directory.
Ah yes, I figured out the user-specific CONTROL and INDEX settings, pretty cool. One question or minor detail about the user-specific INDEX settings: it looks like Dovecot creates index folders for all namespace folders including a folder called ".INBOX" which seems redundant since the top level namespace (I assume "INBOX refers to the top level name space in this case) shouldn't contain any messages, only folders, right?
For Dovecot v1.1 I'll try to figure out how to make all this work better.
Awesome. Thanks for your patience Timo!
Cheers!
--Jo
On Tue, 2007-04-17 at 04:15 -0700, Joakim Ryden wrote:
One question or minor detail about the user-specific INDEX settings: it looks like Dovecot creates index folders for all namespace folders including a folder called ".INBOX" which seems redundant since the top level namespace (I assume "INBOX refers to the top level name space in this case) shouldn't contain any messages, only folders, right?
Right. I fixed this in CVS HEAD now, but I think it'll stay as it is in v1.0.x.
participants (2)
-
Joakim Ryden
-
Timo Sirainen