imap_createmailbox

(PHP 3, PHP 4 , PHP 5)

imap_createmailbox -- Crée une nouvelle boîte aux lettres

Description

bool imap_createmailbox ( resource imap_stream, string mbox )

imap_createmailbox() crée une nouvelle boîte aux lettres nommée mbox. Les noms contenant des caractères spéciaux doivent être encodés.

imap_createmailbox() retourne TRUE en cas de succès, et FALSE en cas d'erreur.

Exemple 1. Exemple avec imap_createmailbox()

<?php

$mbox
= imap_open("{your.imap.host}", "utilisateur", "mot_de_passe", OP_HALFOPEN)
    or die(
"connexion impossible: " . imap_last_error());
    
$name1 = "nouvellephpbox";
$name2 = imap_utf7_encode("nouvellephpboxéx");

$newname = $name1;

echo
"Le nouveau nom sera '$name1'<br />\n";

// Nous allons créer maintenant une nouvelle boîte aux lettres "phptestbox"
// dans votre dossier inbox, vérifier son état et, finalement, la supprimer
// pour remettre votre inbox dans son état initial.
if (@imap_createmailbox($mbox, imap_utf7_encode("{your.imap.host}INBOX.$newname"))) {
    
$status = @imap_status($mbox, "{your.imap.host}INBOX.$newname", SA_ALL);
    if (
$status) {
        echo
"Votre nouvelle boîte '$name1' est dans l'état suivant :<br />\n";
        echo
"Messages : "     . $status->messages    . "<br />\n";
        echo
"Récent : "       . $status->recent      . "<br />\n";
        echo
"Non lus : "      . $status->unseen      . "<br />\n";
        echo
"UID suivant : "  . $status->uidnext     . "<br />\n";
        echo
"UID validité : " . $status->uidvalidity . "<br />\n";
   
        if (
imap_renamemailbox($mbox, "{your.imap.host}INBOX.$newname", "{your.imap.host}INBOX.$name2")) {
            echo
"renommage de la boîte aux lettres '$name1' en '$name2'<br />\n";
            
$newname = $name2;
        } else {
            echo
"imap_renamemailbox sur la nouvelle boîte aux lettres a échoué : " . imap_last_error() . "<br />\n";
        }
    } else {
        echo
"imap_status sur la nouvelle boîte aux lettres a échoué : " . imap_last_error() . "<br />\n";
    }

    if(@
imap_deletemailbox($mbox, "{your.imap.host}INBOX.$newname")) {
        echo
"new mailbox supprimée pour remettre tout en état<br />\n";
    } else {
        echo
"imap_deletemailbox sur la nouvelle boîte aux lettres a échoué : " . implode("<br />\n", imap_errors()) . "<br />\n";
    }

} else {
    echo
"Impossible de créer une nouvelle boîte aux lettres :  " . implode("<br />\n", imap_errors()) . "<br />\n";
}
imap_close($mbox);
?>

Voir aussi imap_renamemailbox(), imap_deletemailbox() et imap_open() pour connaître le format des noms de mbox.