(PHP 4, PHP 5, PHP 7)
imap_createmailbox — 新しいメールボックスを作る
$imap_stream
, string $mailbox
)
imap_createmailbox() は mailbox
で指定された新しいメールボックスを作成します。
imap_stream
imap_open() が返す IMAP ストリーム。
mailbox
メールボックス名。詳細は imap_open() を参照ください。 この名前に国際化文字を含む場合には、 imap_utf7_encode() でエンコードする必要があります。
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
例1 imap_createmailbox() example
<?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 "Newname will be '$name1'<br />\n";
// ここでは inbox フォルダ内に新しいメールボックス "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 "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);
?>