MBOX-Line: From guenther+imap at sendmail.com  Fri Jul 29 21:29:31 2011
To: imap-protocol@u.washington.edu
From: Philip Guenther <guenther+imap@sendmail.com>
Date: Fri Jun  8 12:34:46 2018
Subject: [Imap-protocol] Determining the mailbox hierarchy prefix when
	NAMESPACE is not supported
In-Reply-To: <4E3382E3.3010509@earthlink.net>
References: <4DEBB242.2090200@BusCom.net>
	<alpine.OSX.2.00.1106051606130.4942@hsinghsing.panda.com>
	<4E3382E3.3010509@earthlink.net>
Message-ID: <alpine.BSO.2.00.1107292118540.19142@morgaine.smi.sendmail.com>

On Fri, 29 Jul 2011, Rick Sanders wrote:
> Is there a way to reliably figure out the mailbox hierarchy prefix when an
> IMAP server does not support the NAMESPACE command?

RFC 3501, section 6.3.8, paragraph 4:

      An empty ("" string) mailbox name argument is a special request to
      return the hierarchy delimiter and the root name of the name given
      in the reference.  The value returned as the root MAY be the empty
      string if the reference is non-rooted or is an empty string.  In
      all cases, a hierarchy delimiter (or NIL if there is no hierarchy)
      is returned.  This permits a client to get the hierarchy delimiter
      (or find out that the mailbox names are flat) even when no
      mailboxes by that name currently exist.


Note:
1) That quote is the only place in the spec where "root" is used in 
   reference to mailbox names, so it's not clear what requirements are
   placed on the name that is returned other than those implied in 
   general by the historical context of roots in hierarchical namespaces.
   Those that don't believe standards exist in a historical context would 
   say that a server can return whatever it wants there and that it has
   no meaning.  Those who believe otherwise think the former are nihilists 
   that need to be kept away from computers.

2) There's no guarantee that there's only one "mailbox hierarchy prefix"
   as you call it on the server.  You asked for *the* prefix; what if
   there are many?


Philip Guenther

