PHP 7.4.12 Released!


(PHP 4, PHP 5, PHP 7)

imap_expungeУдалить все помеченные для удаления сообщения


imap_expunge ( resource $imap_stream ) : bool

Удаляет все помеченные для удаления сообщения. Пометить для удаления можно с помощью функций imap_delete(), imap_mail_move() или imap_setflag_full().

Список параметров


Поток IMAP, полученный из imap_open().

Возвращаемые значения

Возвращает TRUE.

add a note add a note

User Contributed Notes 2 notes

boswachter at xs4all dot nl
14 years ago
@eisbrenner at gidn dot de

You shouldn't call imap_expunge until before closing the connection. imap_delete tags a message for deletion, imap_expunge deletes all tagged messages. i.e.:
for ($i = 0; $i < $num; $i++) {
  imap_delete($box, $i);

imap_expunge should not be in your inner loop.
Pavel Cernik
4 years ago
imap_expunge() may change order of messages which were loaded using imap_sort().
That means, if you use foreach() on result of imap_sort() function and each pass you move/delete a message and instantly expunge them, next cycle, messages will have different numbers than imap_sort() returned and the script will fail.
To Top