Create a new mailbox

# imap_createmailbox

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

imap_createmailbox — Create a new mailbox

### 说明

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

Creates a new mailbox specified by `mailbox`.

### 参数

`imap`
  IMAP\Connection 实例。
`mailbox`

  The mailbox name, see imap_open() for more information. Names containing international characters should be encoded by imap_utf7_encode()

  警告

  Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

### 返回值

成功时返回 `true`， 或者在失败时返回 `false`。

### 更新日志

版本 | 说明
--- | ---
8.1.0 | 现在 `imap` 参数接受 IMAP\Connection 实例，之前接受有效的 `imap` resource。

### 示例

示例 #1 imap_createmailbox() example

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

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

    $newname = $name1;

    echo "Newname will be '$name1'<br />\n";

    // we will now create a new mailbox "phptestbox" in your inbox folder,
    // check its status after creation and finally remove it to restore
    // your inbox to its initial state

    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 "your new mailbox '$name1' has the following status:<br />\n";
            echo "Messages:   " . $status->messages    . "<br />\n";
            echo "Recent:     " . $status->recent      . "<br />\n";
            echo "Unseen:     " . $status->unseen      . "<br />\n";
            echo "UIDnext:    " . $status->uidnext     . "<br />\n";
            echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";

            if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname", "{imap.example.org}INBOX.$name2")) {
                echo "renamed new mailbox from '$name1' to '$name2'<br />\n";
                $newname = $name2;
            } else {
                echo "imap_renamemailbox on new mailbox failed: " . imap_last_error() . "<br />\n";
            }
        } else {
            echo "imap_status on new mailbox failed: " . imap_last_error() . "<br />\n";
        }

        if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
            echo "new mailbox removed to restore initial state<br />\n";
        } else {
            echo "imap_deletemailbox on new mailbox failed: " . implode("<br />\n", imap_errors()) . "<br />\n";
        }

    } else {
        echo "could not create new mailbox: " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

    imap_close($mbox);
    ?>

### 参见

- imap_renamemailbox() - Rename an old mailbox to new mailbox
- imap_deletemailbox() - Delete a mailbox

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