imap_clearflag_full

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

imap_clearflag_fullメッセージのフラグをクリアする

説明

imap_clearflag_full(
    resource $imap,
    string $sequence,
    string $flag,
    int $options = 0
): bool

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

パラメータ

imap

imap_open() が返す IMAP ストリーム。

sequence

メッセージ番号のシーケンス。 X,Y のようにメッセージを列挙したり、 X:Y のようにしてその間のすべてのメッセージを指定したりできます。

flag

設定可能なフラグは "\\Seen"、 "\\Answered"、"\\Flagged"、"\\Deleted" および "\\Draft" です (» RFC2060 で定義されています)。

options

オプション options はビットマスクであり、 以下の組み合わせとなります。

  • ST_UID - シーケンス引数はシーケンス番号の代わりに UID を含みます。

返り値

成功した場合に true を、失敗した場合に 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