<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Read the list of mailboxes, returning detailed information on each one</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.imap-getacl.html">imap_getacl</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.imap-getsubscribed.html">imap_getsubscribed</a></div> <div class="up"><a href="ref.imap.html">IMAP Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.imap-getmailboxes" class="refentry"> <div class="refnamediv"> <h1 class="refname">imap_getmailboxes</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">imap_getmailboxes</span> — <span class="dc-title">Read the list of mailboxes, returning detailed information on each one</span></p> </div> <div class="refsect1 description" id="refsect1-function.imap-getmailboxes-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">array</span> <span class="methodname"><strong>imap_getmailboxes</strong></span> ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$imap_stream</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$ref</code></span> , <span class="methodparam"><span class="type">string</span> <code class="parameter">$pattern</code></span> )</div> <p class="para rdfs-comment"> Gets information on the mailboxes. </p> </div> <div class="refsect1 parameters" id="refsect1-function.imap-getmailboxes-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter"> imap_stream</code></em></span><dd> <p class="para">An IMAP stream returned by <span class="function"><a href="function.imap-open.html" class="function">imap_open()</a></span>.</p></dd> </dt> <dt> <span class="term"><em><code class="parameter">ref</code></em></span> <dd> <p class="para"> <em><code class="parameter">ref</code></em> should normally be just the server specification as described in <span class="function"><a href="function.imap-open.html" class="function">imap_open()</a></span> </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">pattern</code></em></span> <dd> <p class="para">Specifies where in the mailbox hierarchy to start searching.</p><p class="para">There are two special characters you can pass as part of the <em><code class="parameter">pattern</code></em>: '<em>*</em>' and '<em>%</em>'. '<em>*</em>' means to return all mailboxes. If you pass <em><code class="parameter">pattern</code></em> as '<em>*</em>', you will get a list of the entire mailbox hierarchy. '<em>%</em>' means to return the current level only. '<em>%</em>' as the <em><code class="parameter">pattern</code></em> parameter will return only the top level mailboxes; '<em>~/mail/%</em>' on <em>UW_IMAPD</em> will return every mailbox in the <var class="filename">~/mail</var> directory, but none in subfolders of that directory.</p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.imap-getmailboxes-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns an array of objects containing mailbox information. Each object has the attributes <em><code class="parameter">name</code></em>, specifying the full name of the mailbox; <em><code class="parameter">delimiter</code></em>, which is the hierarchy delimiter for the part of the hierarchy this mailbox is in; and <em><code class="parameter">attributes</code></em>. <em><code class="parameter">Attributes</code></em> is a bitmask that can be tested against: <ul class="itemizedlist"> <li class="listitem"> <p class="para"> <strong><code>LATT_NOINFERIORS</code></strong> - This mailbox contains, and may not contain any "children" (there are no mailboxes below this one). Calling <span class="function"><a href="function.imap-createmailbox.html" class="function">imap_createmailbox()</a></span> will not work on this mailbox. </p> </li> <li class="listitem"> <p class="para"> <strong><code>LATT_NOSELECT</code></strong> - This is only a container, not a mailbox - you cannot open it. </p> </li> <li class="listitem"> <p class="para"> <strong><code>LATT_MARKED</code></strong> - This mailbox is marked. This means that it may contain new messages since the last time it was checked. Not provided by all IMAP servers. </p> </li> <li class="listitem"> <p class="para"> <strong><code>LATT_UNMARKED</code></strong> - This mailbox is not marked, does not contain new messages. If either <strong><code>MARKED</code></strong> or <strong><code>UNMARKED</code></strong> is provided, you can assume the IMAP server supports this feature for this mailbox. </p> </li> </ul> </p> </div> <div class="refsect1 examples" id="refsect1-function.imap-getmailboxes-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-3362"> <p><strong>Example #1 <span class="function"><strong>imap_getmailboxes()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$mbox </span><span style="color: #007700">= </span><span style="color: #0000BB">imap_open</span><span style="color: #007700">(</span><span style="color: #DD0000">"{imap.example.org}"</span><span style="color: #007700">, </span><span style="color: #DD0000">"username"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">, </span><span style="color: #0000BB">OP_HALFOPEN</span><span style="color: #007700">)<br /> or die(</span><span style="color: #DD0000">"can't connect: " </span><span style="color: #007700">. </span><span style="color: #0000BB">imap_last_error</span><span style="color: #007700">());<br /><br /></span><span style="color: #0000BB">$list </span><span style="color: #007700">= </span><span style="color: #0000BB">imap_getmailboxes</span><span style="color: #007700">(</span><span style="color: #0000BB">$mbox</span><span style="color: #007700">, </span><span style="color: #DD0000">"{imap.example.org}"</span><span style="color: #007700">, </span><span style="color: #DD0000">"*"</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$list</span><span style="color: #007700">)) {<br /> foreach (</span><span style="color: #0000BB">$list </span><span style="color: #007700">as </span><span style="color: #0000BB">$key </span><span style="color: #007700">=> </span><span style="color: #0000BB">$val</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"(</span><span style="color: #0000BB">$key</span><span style="color: #DD0000">) "</span><span style="color: #007700">;<br /> echo </span><span style="color: #0000BB">imap_utf7_decode</span><span style="color: #007700">(</span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">name</span><span style="color: #007700">) . </span><span style="color: #DD0000">","</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">"'" </span><span style="color: #007700">. </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">delimiter </span><span style="color: #007700">. </span><span style="color: #DD0000">"',"</span><span style="color: #007700">;<br /> echo </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">attributes </span><span style="color: #007700">. </span><span style="color: #DD0000">"<br />\n"</span><span style="color: #007700">;<br /> }<br />} else {<br /> echo </span><span style="color: #DD0000">"imap_getmailboxes failed: " </span><span style="color: #007700">. </span><span style="color: #0000BB">imap_last_error</span><span style="color: #007700">() . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">imap_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$mbox</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 seealso" id="refsect1-function.imap-getmailboxes-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.imap-getsubscribed.html" class="function" rel="rdfs-seeAlso">imap_getsubscribed()</a> - List all the subscribed mailboxes</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.imap-getacl.html">imap_getacl</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.imap-getsubscribed.html">imap_getsubscribed</a></div> <div class="up"><a href="ref.imap.html">IMAP Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>