File: C:/Ruby27-x64/lib/ruby/gems/2.7.0/doc/net-imap-0.3.4/ri/Net/IMAP/namespace-i.ri
U:RDoc::AnyMethod[iI"namespace:ETI"Net::IMAP#namespace;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [ I"aSends a {NAMESPACE command [RFC2342 ยง5]}[https://www.rfc-editor.org/rfc/rfc2342#section-5] ;TI"Kand returns the namespaces that are available. The NAMESPACE command ;TI"Mallows a client to discover the prefixes of namespaces used by a server ;TI"Jfor personal mailboxes, other users' mailboxes, and shared mailboxes.;To:RDoc::Markup::BlankLine o;
; [I"PThe return value is a Namespaces object which has +personal+, +other+, and ;TI"P+shared+ fields, each an array of Namespace objects. These arrays will be ;TI"/empty when the server responds with +nil+.;T@o;
; [I"OMany \IMAP servers are configured with the default personal namespaces as ;TI"M<tt>("" "/")</tt>: no prefix and the "+/+" hierarchy delimiter. In that ;TI"Ncommon case, the naive client may not have any trouble naming mailboxes. ;TI"LBut many servers are configured with the default personal namespace as ;TI"Ne.g. <tt>("INBOX." ".")</tt>, placing all personal folders under INBOX, ;TI"Mwith "+.+" as the hierarchy delimiter. If the client does not check for ;TI"Hthis, but naively assumes it can use the same folder names for all ;TI"Jservers, then folder creation (and listing, moving, etc) can lead to ;TI"errors.;T@o;
; [I"From RFC2342:;T@o:RDoc::Markup::Verbatim; [
I"EAlthough typically a server will support only a single Personal
;TI"INamespace, and a single Other User's Namespace, circumstances exist
;TI"Jwhere there MAY be multiples of these, and a client MUST be prepared
;TI"Mfor them. If a client is configured such that it is required to create
;TI"Ma certain mailbox, there can be circumstances where it is unclear which
;TI"DPersonal Namespaces it should create the mailbox in. In these
;TI"Hsituations a client SHOULD let the user select which namespaces to
;TI"create the mailbox in.
;T:@format0o;
; [I"*Related: #list, Namespaces, Namespace;T@S:RDoc::Markup::Heading:
leveli
: textI"For example:;T@o;; [I"$capabilities = imap.capability
;TI"+if capabilities.include?("NAMESPACE")
;TI"# namespaces = imap.namespace
;TI"0 if namespace = namespaces.personal.first
;TI": prefix = namespace.prefix # e.g. "" or "INBOX."
;TI"6 delim = namespace.delim # e.g. "/" or "."
;TI"@ # personal folders should use the prefix and delimiter
;TI"% imap.create(prefix + "foo")
;TI"% imap.create(prefix + "bar")
;TI"A imap.create(prefix + %w[path to my folder].join(delim))
;TI" end
;TI" end
;T;
0S;;i
;I"Capabilities;T@o;
; [I"8The server's capabilities must include +NAMESPACE+ ;TI"4[RFC2342[https://tools.ietf.org/html/rfc2342]].;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[ I"();T@HFI" IMAP;TcRDoc::NormalClass00