imap_createmailbox

(PHP 3, PHP 4, PHP 5)

imap_createmailbox -- 新しいメールボックスを作る

説明

bool imap_createmailbox ( resource imap_stream, string mbox )

imap_createmailbox()mbox で指定された新しいメールボックスを作成します。この名前に国際化 文字を含む場合には、imap_utf7_encode() で エンコードする必要があります。

成功した場合に TRUE を、失敗した場合に FALSE を返します。.

例 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&ouml;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);
?>

mbox の名前の書式に関しては、 imap_renamemailbox()imap_deletemailbox() および imap_open() も参照ください。