imap_createmailbox

(PHP 4, PHP 5, PHP 7)

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

Описание

imap_createmailbox ( resource $imap_stream , string $mailbox ) : bool

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

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

imap_stream

Поток IMAP, полученный из imap_open().

mailbox

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

Внимание

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

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

Возвращает 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öx"); // phpnewb&w7Y-x

$newname $name1;

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

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

if (@imap_createmailbox($mboximap_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);
?>

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