(PHP 4, PHP 5, PHP 7)
imap_delete — Пометить сообщение для удаления
$imap_stream
, int $msg_number
[, int $options
= 0
] ) : bool
Помечает сообщения, перечисленные в msg_number
для
удаления. Помеченные сообщения будут оставаться в ящике пока не будет вызвана
функция imap_expunge(), либо
imap_close() с установленным параметром
CL_EXPUNGE
.
imap_stream
Поток IMAP, полученный из imap_open().
msg_number
Номер сообщения
options
Можно задать как FT_UID
, тогда функция будет
ожидать в параметре msg_number
не номер сообщения,
а UID.
Возвращает TRUE
.
Пример #1 Пример использования imap_delete()
<?php
$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
or die("Не удалось подключиться: " . imap_last_error());
$check = imap_mailboxmsginfo($mbox);
echo "Сообщения до отметки для удаления: " . $check->Nmsgs . "<br />\n";
imap_delete($mbox, 1);
$check = imap_mailboxmsginfo($mbox);
echo "Сообщения после отметки для удаления: " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "Сообщения после удаления: " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>
Замечание:
Ящики IMAP могут не сохранять флаги между соединениями, следовательно если вы действительно хотите удалить помеченные сообщения, то необходимо вызывать imap_expunge() в том же соединении, в котором флаги устанавливались.