PHP Conference Japan 2024

imap_expunge

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_expunge刪除所有標記為刪除的郵件

說明

imap_expunge(IMAP\Connection $imap): true

刪除所有由 imap_delete()imap_mail_move()imap_setflag_full() 標記為刪除的郵件。

參數

imap

一個 IMAP\Connection 實例。

回傳值

永遠回傳 true

更新日誌

版本 說明
8.1.0 imap 參數現在需要一個 IMAP\Connection 實例;先前需要一個有效的 imap 資源
新增註記

使用者提供的註記 2 則註記

11
boswachter at xs4all dot nl
18 年前
您不應該在關閉連線之前呼叫 imap_expunge。 imap_delete 標記要刪除的訊息,imap_expunge 刪除所有已標記的訊息。例如:
for ($i = 0; $i < $num; $i++) {
imap_delete($box, $i);
}
imap_expunge($box);

imap_expunge 不應該放在您的內迴圈中。
4
Pavel Cernik
8 年前
imap_expunge() 可能會改變使用 imap_sort() 載入的郵件順序。
這表示,如果您在 imap_sort() 函數的結果上使用 foreach(),並且每次傳遞時都移動/刪除郵件並立即清除它們,則下一個循環中,郵件的編號將與 imap_sort() 返回的編號不同,並且腳本將會失敗。
To Top