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

この関数は、指定したシーケンス sequence のメッセージのフラグから、指定したフラグ flag を削除します。

パラメータ

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 を返していました。

参考

add a note add a note

User Contributed Notes 5 notes

up
2
Nohado
13 years ago
I got a note that:

if u want to set a mail to "//Unseen", which not exists,
do it like this:

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

but, remember to do
imap_close($imap, CL_EXPUNGE);
@ the END! so that it will be confirmed!

Cheers,
Nohado
up
-1
info at sharoff dot org
6 years ago
<?php

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

imap_clearflag_full($connection, $messageUid, '\\Seen', ST_UID);
up
-1
Anonymous
18 years ago
imap_clearflag_full() and imap_setflag_full() seem to only change messageflags permanently with IMAP connections, not with POP3 connections.
up
-2
Mark Hill
14 years ago
Remember to specify your flags like '\\Seen' rather than "\\Seen".

Of course, flags are an IMAP feature, not a POP feature.

Resetting \\Seen works from PHP 4.3 works fine on the modern mail servers I've tested.
up
-3
calmdown at abendstille dot at
21 years ago
This function seems not to save the \\Seen flag permanently.

Testet on Win NT IIS 4.0 PHP 4.3 and imap-mail-server
To Top