imap_delete

Mark a message for deletion from current mailbox

&reftitle.description; `bool` `imap_delete` `resource` `imap_stream` `int` `msg_number` `int` `options` 0

Marks messages listed in `msg_number` for deletion. Messages marked for deletion will stay in the mailbox until either `imap_expunge` is called or `imap_close` is called with the optional parameter `CL_EXPUNGE`.

&reftitle.parameters;

&imap.imap-stream.description;

`msg_number`

- The message number

`options`

- You can set the `FT_UID` which tells the function to treat the `msg_number` argument as an `UID`.

&reftitle.returnvalues;

Returns &true;.

&reftitle.examples;

### `imap_delete` example

    <?php

    $mbox = imap_open("{imap.example.org}INBOX", "username", "password")
        or die("Can't connect: " . imap_last_error());

    $check = imap_mailboxmsginfo($mbox);
    echo "Messages before delete: " . $check->Nmsgs . "<br />\n";

    imap_delete($mbox, 1);

    $check = imap_mailboxmsginfo($mbox);
    echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";

    imap_expunge($mbox);

    $check = imap_mailboxmsginfo($mbox);
    echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";

    imap_close($mbox);
    ?>

&reftitle.notes;

IMAP mailboxes may not have their message flags saved between connections, so `imap_expunge` should be called during the same connection in order to guarantee that messages marked for deletion will actually be purged.

&reftitle.seealso;

- `imap_undelete`
- `imap_expunge`
- `imap_close`