函式名: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 伺服器的連線。