函数名:imap_delete()
适用版本:PHP 4, PHP 5, PHP 7
用法:imap_delete(resource $imap_stream, string $msg_number, int $options = 0): bool
函数描述:imap_delete() 函数用于标记指定邮件的删除状态。被标记为删除的邮件将在后续执行 imap_expunge() 函数时被永久删除。
参数:
- $imap_stream:必需。一个有效的 IMAP 连接资源。
- $msg_number:必需。一个表示邮件编号的字符串或整数。可以是单个邮件的编号,也可以是以逗号分隔的多个邮件编号。
- $options:可选。一个可选的选项参数,默认为 0。可以使用以下选项之一:
- CL_EXPUNGE:将在标记删除后立即执行永久删除。
- FT_UID:将 $msg_number 参数视为 UID 序列号而不是邮件的编号。
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建 IMAP 连接
$imap_stream = imap_open("{imap.example.com:993/ssl}INBOX", "username", "password");
// 标记邮件编号为 1 的邮件为删除状态
if (imap_delete($imap_stream, "1")) {
echo "邮件删除成功!";
} else {
echo "邮件删除失败!";
}
// 执行永久删除
if (imap_expunge($imap_stream)) {
echo "永久删除操作成功!";
} else {
echo "永久删除操作失败!";
}
// 关闭 IMAP 连接
imap_close($imap_stream);
上述示例中,我们首先通过 imap_open() 函数创建了一个 IMAP 连接。然后,使用 imap_delete() 函数将邮件编号为 1 的邮件标记为删除状态。最后,通过 imap_expunge() 函数执行永久删除操作。如果删除和永久删除操作都成功,则会输出相应的成功消息。最后,使用 imap_close() 函数关闭了 IMAP 连接。
请注意,在执行 imap_expunge() 函数之前,标记为删除的邮件只是被标记为删除状态,并不会立即从邮件服务器上删除。只有在执行 imap_expunge() 函数时,被标记为删除的邮件才会被永久删除。