imap_getmailboxes

(PHP 4, PHP 5, PHP 7)

imap_getmailboxesLeer la lista de buzones, devolviendo información detallada de cada uno

Descripción

imap_getmailboxes ( resource $imap_stream , string $ref , string $pattern ) : array

Obtiene información sobre los buzones.

Parámetros

imap_stream

IMAP stream devuelto por imap_open().

ref

ref normalmente debería ser la especificación del servidor como está descrita en imap_open()

pattern

Especifica 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.

Valores devueltos

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.

Ejemplos

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);
?>

Ver también