(PHP 4, PHP 5, PHP 7)
imap_getmailboxes — Leer la lista de buzones, devolviendo información detallada de cada uno
$imap_stream
   , string $ref
   , string $pattern
   ) : arrayObtiene información sobre los buzones.
imap_streamIMAP stream devuelto por imap_open().
ref
       ref normalmente debería ser la especificación del
       servidor como está descrita en imap_open()
      
patternEspecifica donde en la jerarquía del buzón para empezar a buscar.
Hay dos caracteres especiales que se pueden
pasar como parte del pattern:
'*' y '%'.
'*' significa devolver todos los buzones. Si se pasa el
pattern como '*', se obtendrá
una lista de toda la jerarquía del buzón.
'%'
significa devolver sólo el nivel actual.
'%' como el parámetro pattern
devolverá solamente el nivel superior de los
buzones; '~/mail/%' en UW_IMAPD devolverá cada buzón en el directorio ~/mail, pero no en los subdirectorios de ese directorio.
   Devuelve un array de objetos que contienen la información de los buzones. Cada
   objeto tiene los atributos name (nombre), especificando
   el nombre completo del buzón; delimiter (delimitador),
   que es el delimitador de jerarquía de la parte de la jerarquía en la que está
   este buzón, y
   attributes (atributos). Attributes
   es una máscara de bits que puede comprobar con:
   
      LATT_NOINFERIORS - Este buzón contiene, y no puede contener ningún
      "hijo" (no hay buzones por debajo de este). Una llamada a
      imap_createmailbox() no funcionará con este buzón.
     
      LATT_NOSELECT - Es solo un contenedor,
      no un buzón - no se puede abrir.
     
      LATT_MARKED - Este buzón está marcado. Esto significa que puede
      contener mensajes nuevos desde la última vez que se comprobó. No proporcionado por todos los
      servidores IMAP.
     
      LATT_UNMARKED - Este buzó no está marcado, no contiene nuevos
      mensajes. Si se proporciona MARKED o UNMARKED,
      se puede asumir que el servidor IMAP soporta esta característica para este buzón.
     
Ejemplo #1 Ejemplo de imap_getmailboxes()
<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("no se puede conectar: " . imap_last_error());
$lista = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($lista)) {
    foreach ($lista as $clave => $valor) {
        echo "($clave) ";
        echo imap_utf7_decode($valor->name) . ",";
        echo "'" . $valor->delimiter . "',";
        echo $valor->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes falló: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>