Namespaces
==========

Dovecot supports fully configurable namespaces. Their original and primary
purpose is to provide Namespace IMAP extension (RFC 2342
[http://www.faqs.org/rfcs/rfc2342.html]) support, which allows giving IMAP
clients hints about where to locate mailboxes and whether they're private,
shared or public. Unfortunately most IMAP clients don't support this extension.

Dovecot namespaces can be used for several other purposes too:

 * Changing the hierarchy separator
 * Providing backwards compatibility when switching from another IMAP server
 * Provides support for public shared mailboxes
 * Allows having mails in multiple different locations with possibly different
   formats

See namespace sections in example configuration file
[http://dovecot.org/doc/dovecot-example.conf] for more information.

Backwards Compatibility
-----------------------

When switching from UW-IMAP and you don't want to give users full access to
filesystem, you can create hidden namespaces which allow users to access their
mails using their existing namespace settings in clients.

---%<-------------------------------------------------------------------------
# default namespace
namespace private {
  separator = /
  prefix =
  inbox = yes
}
# for backwards compatibility:
namespace private {
  separator = /
  prefix = mail/
  hidden = yes
}
namespace private {
  separator = /
  prefix = ~/mail/
  hidden = yes
}
namespace private {
  separator = /
  prefix = ~%u/mail/
  hidden = yes
}
---%<-------------------------------------------------------------------------

For Courier-IMAP compatibility, use:

---%<-------------------------------------------------------------------------
namespace private {
  separator = .
  prefix = INBOX.
  inbox = yes
}
---%<-------------------------------------------------------------------------

Shared Mailboxes
----------------

See <SharedMailboxes.txt>.

Multiple Mailbox Locations
--------------------------

INBOX in '/var/mail/username', maildir in '~/Maildir', other mboxes in '~/mail'
under '#mbox/' namespace:

---%<-------------------------------------------------------------------------
namespace private {
  separator = /
  inbox = yes
  hidden = yes
  prefix = "#mbox/"
  location = mbox:~/mail:INBOX=/var/mail/%u
}
namespace private {
  separator = /
  prefix =
  location = maildir:~/Maildir
}
---%<-------------------------------------------------------------------------

Without the 'hidden = yes' setting in the first namespace, clients see the
"#mbox" namespace as a non-selectable mailbox named "#mbox" and having child
mailboxes (ie. like a directory).

(This file was created from the wiki on 2009-02-04 04:42)
