imap_createmailbox

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

imap_createmailboxCreate a new mailbox

Description

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

Creates a new mailbox specified by mailbox.

Parameters

imap

An IMAP\Connection instance.

mailbox

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

Warning

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

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.1.0 The imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.

Examples

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

See Also