Создаёт новый почтовый ящик

# imap_createmailbox

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

imap_createmailbox — Создаёт новый почтовый ящик

### Описание

function imap_createmailbox(IMAP\Connection `$imap`, string `$mailbox`): bool

Создаёт новый почтовый ящик, указанный в `mailbox`.

### Список параметров

`imap`
  Экземпляр класса IMAP\Connection.
`mailbox`

  Имя почтового ящика. Более подробно смотрите imap_open(). Имена почтовых ящиков, содержащие интернациональные символы должны быть закодированы с помощью imap_utf7_encode().

  Внимание

  Передача в этот параметр непроверенных данных небезопасна, если включили директиву imap.enable_insecure_rsh.

### Возвращаемые значения

Функция возвращает `true`, если выполнилась успешно, или `false`, если возникла ошибка.

### Список изменений

Версия | Описание
--- | ---
8.1.0 | Параметр `imap` теперь принимает объект IMAP\Connection; раньше параметр ждал ресурс (resource) `imap`.

### Примеры

Пример #1 Пример использования imap_createmailbox()

    <?php
    $mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
         or die("не получилось подключиться: " . imap_last_error());

    $name1 = "phpnewbox";
    $name2 = imap_utf7_encode("phpnewböx"); // phpnewb&w7Y-x

    $newname = $name1;

    echo "Новым именем будет '$name1'<br />\n";

    // теперь создадим новый ящик "phptestbox" в вашем входящем каталоге,
    // проверим его статус и удалим, чтобы вернуть ваш каталог к первоначальному
    // состоянию

    if (@imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.$newname"))) {
        $status = @imap_status($mbox, "{imap.example.org}INBOX.$newname", SA_ALL);
        if ($status) {
            echo "ваш новый почтовый ящик называется '$name1' и имеет следующий статус:<br />\n";
            echo "Сообщений:           " . $status->messages    . "<br />\n";
            echo "Новых:                 " . $status->recent      . "<br />\n";
            echo "Непрочитанных:     " . $status->unseen      . "<br />\n";
            echo "Следующий UID:    " . $status->uidnext     . "<br />\n";
            echo "Корректность UID:" . $status->uidvalidity . "<br />\n";

            if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname", "{imap.example.org}INBOX.$name2")) {
                echo "переименуем новый ящик из '$name1' в '$name2'<br />\n";
                $newname = $name2;
            } else {
                echo "вызов imap_renamemailbox для нового ящика завершился ошибкой: " . imap_last_error() . "<br />\n";
            }
        } else {
            echo "вызов imap_status для нового ящика завершился ошибкой: " . imap_last_error() . "<br />\n";
        }

        if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
            echo "новый почтовый ящик удалён для восстановления первоначального состояния<br />\n";
        } else {
            echo "вызов imap_deletemailbox на новом почтовом ящике завершился ошибкой: " . implode("<br />\n", imap_errors()) . "<br />\n";
        }

    } else {
        echo "невозможно создать новый почтовый ящик: " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

    imap_close($mbox);
    ?>

### Смотрите также

- imap_renamemailbox() - Переименовывает почтовый ящик
- imap_deletemailbox() - Удаляет почтовый ящик

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