imap_clearflag_full

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

imap_clearflag_full清除消息上的标记

描述

imap_clearflag_full(
    IMAP\Connection $imap,
    string $sequence,
    string $flag,
    int $options = 0
): true

此函数会导致存储将指定的 flag 删除到为指定 sequence 中的消息设置的标记中。

参数

imap

一个 IMAP\Connection 实例。

sequence

一组消息编号。您可以使用 X,Y 语法枚举所需的消息,或者使用 X:Y 语法检索某个间隔内所有消息。

flag

您可以取消设置的标记为 "\\Seen"、"\\Answered"、"\\Flagged"、"\\Deleted" 和 "\\Draft"(如 » RFC2060 中所定义)。

options

options 是一个位掩码,可能包含以下选项:

  • ST_UID - 序列参数包含 UID 而不是序列号

返回值

始终返回 true

错误/异常

如果 options 无效,则会抛出 ValueError

变更日志

版本 描述
8.1.0 imap 参数现在需要一个 IMAP\Connection 实例;以前,需要一个有效的 imap 资源
8.0.0 现在,在 options 参数值无效时,会抛出 ValueError。以前,会发出警告,函数返回 false

参见

添加注释

用户贡献的注释 5 个注释

Nohado
13 年前
我注意到

如果您要将邮件设置为 "//Unseen"(它不存在),
请按如下方式操作:

imap_clearflag_full($your_imap_connection,
$number_of_message,"//Seen");

但是,请记住执行
imap_close($imap, CL_EXPUNGE);
在结束时!这样才能确认!

干杯!
Nohado
info at sharoff dot org
6 年前
<?php

$connection
= imap_open(...);
$messageUid = 123;

imap_clearflag_full($connection, $messageUid, '\\Seen', ST_UID);
匿名
18 年前
imap_clearflag_full() 和 imap_setflag_full() 似乎只对 IMAP 连接永久更改消息标记,而不对 POP3 连接更改。
Mark Hill
15 年前
请记住,要像 '\\Seen' 而不是 "\\Seen" 一样指定您的标记。

当然,标记是 IMAP 功能,而不是 POP 功能。

从 PHP 4.3 开始,重置 \\Seen 在我测试过的现代邮件服务器上运行良好。
calmdown at abendstille dot at
21 年前
此函数似乎无法永久保存 \\Seen 标记。

在 Win NT IIS 4.0 PHP 4.3 和 imap-mail-server 上测试。
To Top