查詢

imap_gc()函式—用法及示例

「 清理垃圾郵件箱,釋放已刪除郵件的空間 」


函式名:imap_gc()

適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7

用法:imap_gc(resource $imap_stream, int $flags = 0): bool

功能:清理垃圾郵件箱,釋放已刪除郵件的空間。

引數:

  • $imap_stream:必需,一個有效的 IMAP 流資源,透過 imap_open() 函式返回。
  • $flags:可選,用於指定進一步的操作。預設為0,表示僅清理已刪除郵件的空間。可以使用以下常量進行組合:
    • IMAP_GC_ELT:清理所有已刪除郵件的空間。
    • IMAP_GC_TEXTS:清理所有已刪除文字郵件的空間。
    • IMAP_GC_REFS:清理所有已刪除引用郵件的空間。
    • IMAP_GC_ALL:清理所有已刪除郵件的空間。

返回值:成功時返回 true,失敗時返回 false。

示例:

$imap_stream = imap_open("{imap.example.com:993/imap/ssl}INBOX", "username", "password");
if ($imap_stream) {
    // 執行某些操作,如刪除郵件
    imap_delete($imap_stream, 1);
    
    // 清理已刪除郵件的空間
    if (imap_gc($imap_stream, IMAP_GC_ELT)) {
        echo "垃圾郵件箱已成功清理。";
    } else {
        echo "清理垃圾郵件箱失敗。";
    }
    
    imap_close($imap_stream);
} else {
    echo "無法連線到 IMAP 伺服器。";
}

上述示例中,首先透過 imap_open() 函式建立與 IMAP 伺服器的連線,並獲取到一個有效的 IMAP 流資源。然後,使用 imap_delete() 函式刪除了郵件箱中的第一封郵件。最後,透過 imap_gc() 函式清理已刪除郵件的空間,使用 IMAP_GC_ELT 常量表示清理所有已刪除郵件的空間。如果清理成功,將輸出"垃圾郵件箱已成功清理",否則輸出"清理垃圾郵件箱失敗"。最後,使用 imap_close() 函式關閉了與 IMAP 伺服器的連線。

補充糾錯
上一個函式: imap_getacl()函式
下一個函式: imap_fetch_overview()函式
熱門PHP函式
分享連結