• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • imap_expunge()

    (PHP 4, PHP 5, PHP 7)

    Delete all messages marked for deletion

    说明

    imap_expunge(resource $imap_stream): bool

    Deletes all the messages marked for deletion by imap_delete(),imap_mail_move(), or imap_setflag_full().

    参数

    $imap_stream

    由imap_open()返回的 IMAP 流。

    返回值

    Returns TRUE.

    @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($box);
    imap_expunge should not be in your inner loop.
    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.