Lê a lista de caixas de correio, retornando informações detalhadas sobre cada uma delas

# imap_getmailboxes

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

imap_getmailboxes — Lê a lista de caixas de correio, retornando informações detalhadas sobre cada uma delas

### Descrição

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

Obtém informações sobre as caixas de correio.

### Parâmetros

`imap`
  Uma instância de IMAP\Connection.
`reference`

  `reference` normalmente deve ser apenas a especificação do servidor conforme descrito em imap_open()

  Aviso

  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

Retorna um array de objetos contendo informações da caixa de correio. Cada objeto tem os atributos `name`, especificando o nome completo da caixa de correio; `delimiter`, que é o delimitador de hierarquia para a parte da hierarquia em que esta caixa de correio está; e `attributes`. `Attributes` é uma máscara de bits que pode ser testada em relação a:

- `LATT_NOINFERIORS` - Esta caixa de correio não contém, e não pode conter nenhuma "filha" (não há caixas de correio abaixo desta). Chamar imap_createmailbox() não funcionará nesta caixa de correio.

- `LATT_NOSELECT` - Isto é apenas um contêiner, não uma caixa de correio - não se pode abri-lo.

- `LATT_MARKED` - Esta caixa de correio está marcada. Isso significa que ela pode conter novas mensagens desde a última vez que foi verificada. Não fornecido por todos os servidores IMAP.

- `LATT_UNMARKED` - Esta caixa de correio não está marcada, não contém novas mensagens. Se `MARKED` ou `UNMARKED` for fornecido, pode-se assumir que o servidor IMAP suporta esse recurso para esta caixa de correio.

- `LATT_REFERRAL` - Este contêiner tem uma referência para uma caixa de correio remota.

- `LATT_HASCHILDREN` - Esta caixa de correio tem filhas selecionáveis.

- `LATT_HASNOCHILDREN` - Esta caixa de correio não possui filhas selecionáveis.

A função retorna `false` em caso de falha.

### 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

Exemplo #1 Exemplo de imap_getmailboxes()

    <?php
    $mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
          or die("Não foi possível conectar: " . 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 falhou: " . imap_last_error() . "\n";
    }

    imap_close($mbox);
    ?>

### Veja Também

- imap_getsubscribed() - Lista todas as caixas de correio assinadas

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open