imap_clearflag_full()
(PHP 4, PHP 5, PHP 7)
Clears flags on messages
说明
imap_clearflag_full(resource $imap_stream,string $sequence,string $flag[,int $options= 0]): bool
This function causes a store to delete the specified$flagto the flags set for the messages in the specified$sequence.
参数
- $imap_stream
由imap_open()返回的 IMAP 流。
- $sequence
A sequence of message numbers. You can enumerate desired messages with theX,Ysyntax, or retrieve all messages within an interval with theX:Ysyntax
- $flag
The flags which you can unset are "Seen","Answered","Flagged","Deleted", and "Draft"(as defined by » RFC2060)
- $options
$optionsare a bit mask and may contain the single option:
ST_UID
- The sequence argument contains UIDs instead of sequence numbers
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
参见
imap_setflag_full()
Sets flags on messages
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
<?php $connection = imap_open(...); $messageUid = 123; imap_clearflag_full($connection, $messageUid, '\\Seen', ST_UID);
imap_clearflag_full() and imap_setflag_full() seem to only change messageflags permanently with IMAP connections, not with POP3 connections.
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.
This function seems not to save the \\Seen flag permanently. Testet on Win NT IIS 4.0 PHP 4.3 and imap-mail-server