(PHP 4, PHP 5, PHP 7, PHP 8)
imap_delete — Помечает сообщение для удаления
Помечает сообщения, перечисленные в message_nums
для удаления. Помеченные сообщения будут оставаться в ящике пока не будет вызвана функция imap_expunge(), либо imap_close() с установленным параметром CL_EXPUNGE
.
imap
Экземпляр класса IMAP\Connection.
message_nums
Строка (string), состоящая из одного или нескольких сообщений в формате последовательности в стиле IMAP4 ("n"
, "n:m"
или их комбинация, разделённая запятыми).
flags
Можно задать как FT_UID
, тогда функция будет ожидать в параметре message_nums
не номер сообщения, а UID
.
Функция всегда возвращает true
.
Выбрасывает исключение ValueError, если значение параметра flags
недопустимо.
Версия | Описание |
---|---|
8.1.0 | Параметр imap теперь ожидает экземпляр класса IMAP\Connection; раньше параметр ждал ресурс (resource) imap . |
8.0.0 | Теперь выбрасывается исключение ValueError, при недопустимых значениях параметра flags . Ранее возникало предупреждение и функция возвращала логическое значение false . |
Пример #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() в том же соединении, в котором флаги устанавливались.