imap_createmailbox

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

imap_createmailboxLegt ein neues Postfach an

Beschreibung

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

Legt ein neues Postfach mit dem Namen mailbox an.

Parameter-Liste

imap

Eine IMAP\Connection-Instanz.

mailbox

Der Name des Postfachs, siehe imap_open() für nähere Informationen. Namen, die nicht-ASCII-Zeichen enthalten, sollten mit imap_utf7_encode() kodiert werden.

Warnung

Die Übergabe von nicht vertrauenswürdigen Daten an diesen Parameter ist unsicher,falls imap.enable_insecure_rsh nicht deaktiviert ist.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.1.0 Der Parameter imap erwartet nun eine IMAP\Connection-Instanz; vorher wurde eine gültige imap-Ressource erwartet.

Beispiele

Beispiel #1 imap_createmailbox()-Beispiel

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
     or die("Kann keine Verbindung aufbauen: " . imap_last_error());

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

$newname = $name1;

echo "Der neue Name wird '$name1' sein<br />\n";

// Legen wir nun ein neues Postfach "phptestbox" in Ihrem Posteingangsordner an,
// überprüfen seinen Status nach der Erstellung und löschen es schließlich,
// um den Posteingang wieder in den Ausgangszustand zu versetzen.

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 "Ihr neues Postfach '$name1' hat den folgenden Status:<br />\n";
        echo "Nachrichten:   " . $status->messages    . "<br />\n";
        echo "Neueste:     " . $status->recent      . "<br />\n";
        echo "Ungelesen:     " . $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 "Neues Postfach von '$name1' in '$name2' umbenannt<br />\n";
            $newname = $name2;
        } else {
            echo "imap_renamemailbox bei neuem Postfach fehlgeschlagen: " . imap_last_error() . "<br />\n";
        }
    } else {
        echo "imap_status bei neuem Postfach fehlgeschlagen: " . imap_last_error() . "<br />\n";
    }

    if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
        echo "Neues Postfach gelöscht, um den Ausgangszustand wiederherzustellen<br />\n";
    } else {
        echo "imap_deletemailbox bei neuem Postfach fehlgeschlagen: " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

} else {
    echo "Konnte kein neues Postfach anlegen: " . implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>

Siehe auch