English | 简体中文 | 繁體中文
查询

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函数
分享链接