Hello Timo,
I'm trying to set up shared mailboxes with dovecot-1.2.11/Maildir. I
previsouly
used public namespaces with 1.1+ to somehow implement them but I'm looking
at
the real ones now. I've read the Wiki but I'm still confused or not
100% sure
about the following (basic) points :
1. Namespaces prefixes
My understanding is that a namespace prefix is just an escape mechanism for the
client to access the mailboxes this namespace holds. So the real location is
_only_ defined by the "location" directive, independently of what the
prefix
is. So, for example, If you've got :
prefix="foo/bar/"
location=maildir:/some/folder/%u
mailboxes are physically in /some/folder/%u, not in /foo/bar/some/folder/%u or
something
am I correct ?
2. Other Users mailboxes
RFC234 states that shared mailboxes (which they call "Other Users"
mailboxes)
are "mailboxes from the Personal Namespaces of other users."
Dovecot's Wiki takes as an example :
# User's private mail location.
mail_location = maildir:~/Maildir
# You need to create also a private namespace:
namespace private {
separator = /
prefix =
#location defaults to mail_location.
inbox = yes
}
namespace shared {
separator = /
prefix = shared/%%u/
location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
subscriptions = no
list = children
}
and states :
"This creates a shared/ namespace under which each user's mailboxes
are."
My understanding is that
# User's private mail location.
mail_location = maildir:~/Maildir
and
location = maildir:%%h/Maildir
implies that mailboxes in both the private and the shared/ namespace are
physically in the same location (under the "$HOME/Maildir" directory
of the
user who shares his mailbox) . Am I correct ?
I tried the following set up :
namespace private {
separator = /
location =
maildir:/courriel/boites/%u:CONTROL=/courriel/meta/%u:INDEX=/var/dovecot-test/indexes/%1u/%u
inbox = yes
hidden = no
list = yes
subscriptions = yes
}
namespace shared {
separator = /
prefix = "#shared/%%u/"
location =
maildir:/courriel/boites/%%u:INDEX=/var/dovecot-test/indexes/%1u/%u/shared/%%u
subscriptions = no
list = yes # will try children later
}
the user doveimap has the following mailboxes :
# pwd
/courriel/boites
# ls -l doveimap
total 64
drwx------ 5 doveimap Invites 4096 Oct 23 13:38 .Trash
drwxr-xr-x 5 doveimap Invites 4096 Oct 27 17:00 .sous
drwxr-xr-x 5 doveimap Invites 4096 Oct 27 17:00 .sous.arbo
drwxr-xr-x 5 doveimap Invites 4096 Oct 27 17:00 .sous.arbo.rescence
drwx------ 5 doveimap Invites 4096 Oct 23 13:43 .testcopy
drwx------ 2 doveimap Invites 4096 Mar 15 17:08 cur
drwx------ 2 doveimap Invites 4096 Mar 15 17:07 new
drwx------ 2 doveimap Invites 4096 Mar 15 17:07 tmp
I can perform for instance :
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS
AUTH=PLAIN] Dovecot test ready.
x login doveimap xxxxxxxx
x OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT
SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN
NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT
SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS ACL RIGHTS=texk] Logged in
1 setacl INBOX dovepop rl
1 OK Setacl complete.
But isn't a client like Thunderbird (3.0.3) supposed to
. show me the #shared (even if no one shares mailboxes to me)
"folder" (because of list = yes )?
. let me share, let's say the .sous.arbo mailbox ? If yes, how ? Or should
I first pre-set some acl files ???
For now, it says : "This is a personnal mail folder. It is not
shared."
Thanks
--
Thomas Hummel | Institut Pasteur
<hummel at pasteur.fr> | P?le informatique - syst?mes et r?seau
On Thu, Mar 18, 2010 at 05:50:44PM +0100, Thomas Hummel wrote:> But isn't a client like Thunderbird (3.0.3) supposed to > > . show me the #shared (even if no one shares mailboxes to me) "folder" (because of list = yes )? > > . let me share, let's say the .sous.arbo mailbox ? If yes, how ? Or should I first pre-set some acl files ??? > > For now, it says : "This is a personnal mail folder. It is not shared."I made some progress and managed to share a mailbox with my setup but : a) I wonder if TB even support the SETACL command since I don't see how I can modify an ACL through the TB UI. b) For things to work, I had to set up loose permissions on the maildirs and the shared-mailbox file. I've read on this list (from the 1.2 beta days) that it is supposed to be easier with virtual user (as opposed to system users) : why ? mailboxes end up being on the filesystem anyway... In fact, I don't really understand the difference between virtual and system users...Aren't they seen as almost the same for dovecot ? c) What's weird also is if I put a "dovecot-acl" file in a maildir I want to share, TB does not see it. But if I telnet and issue the SETACL command which end up generating the same dovecot-acl file, TB then sees the shared mailbox... Timo ? -- Thomas Hummel | Institut Pasteur <hummel at pasteur.fr> | P?le informatique - syst?mes et r?seau