imap_delete
(PHP 4, PHP 5, PHP 7, PHP 8)
Mark a message for deletion from current mailbox
Description
Marks messages listed in message_nums 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.
Parameters
message_numsA String representing one or more messages in IMAP4-style sequence format (
"n","n:m", or combination of these delimited by commas).flagsYou can set the
FT_UIDwhich tells the function to treat themessage_numsargument as aUID.
Return Values
Always
Errors/Exceptions
Throws a ValueError if flags is invalid.
Changelog
| Version | Description |
|---|---|
| 8.0.0 | A ValueError is now thrown on invalid flags parameter values. Previously, a warning was emitted and the function returned false. |
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);
?>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.