imap_getmailboxes

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_getmailboxesRead the list of mailboxes, returning detailed information on each one

Descrição

imap_getmailboxes(IMAP\Connection $imap, string $reference, string $pattern): array|false

Gets information on the mailboxes.

Parâmetros

imap

Uma instância de IMAP\Connection.

reference

reference should normally be just the server specification as described in imap_open()

Warning

Passar dados não confiáveis para este parâmetro é inseguro, a menos que imap.enable_insecure_rsh esteja desabilitado.

pattern

Especifica onde iniciar a pesquisa na hierarquia da caixa de mensagem.

Existem dois caracteres especiais que podem ser passados como parte do parâmetro pattern: '*' e '%'. '*' significa retornar todas as caixas de mensagem. Se pattern for passado como '*', será retornada uma lista de toda a hierarquia da caixa de mensagem. '%' significa retornar apenas o nível atual. Passar '%' como o parâmetro pattern retornará apenas as caixas de mensagem do nível mais alto; Passar '~/mail/%' em UW_IMAPD retornará todas as caixas de mensagem no diretório ~/mail, mas não retornará nenhuma nas subpastas deste diretório.

Valor Retornado

Returns an array of objects containing mailbox information. Each object has the attributes name, specifying the full name of the mailbox; delimiter, which is the hierarchy delimiter for the part of the hierarchy this mailbox is in; and attributes. Attributes is a bitmask that can be tested against:

  • LATT_NOINFERIORS - This mailbox not contains, and may not contain any "children" (there are no mailboxes below this one). Calling imap_createmailbox() will not work on this mailbox.

  • LATT_NOSELECT - This is only a container, not a mailbox - you cannot open it.

  • LATT_MARKED - 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.

  • LATT_UNMARKED - This mailbox is not marked, does not contain new messages. If either MARKED or UNMARKED is provided, you can assume the IMAP server supports this feature for this mailbox.

  • LATT_REFERRAL - This container has a referral to a remote mailbox.

  • LATT_HASCHILDREN - This mailbox has selectable inferiors.

  • LATT_HASNOCHILDREN - This mailbox has no selectable inferiors.

The function returns false on failure.

Registro de Alterações

Versão Descrição
8.1.0 O parâmetro imap agora espera uma instância de IMAP\Connection; anteriormente, um resource imap válido era esperado.

Exemplos

Example #1 imap_getmailboxes() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Veja Também