(PHP 4, PHP 5, PHP 7, PHP 8)
imap_search — This function returns an array of messages matching the given search criteria
$imap
,$criteria
,$flags
= SE_FREE
,$charset
= ""This function performs a search on the mailbox currently opened in the given IMAP stream.
For example, to match all unanswered messages sent by Mom, you'd use: "UNANSWERED FROM mom". Searches appear to be case insensitive. This list of criteria is from a reading of the UW c-client source code and may be incomplete or inaccurate (see also » RFC1176, section "tag SEARCH search_criteria").
imap
IMAP\Connection 实例。
criteria
A string, delimited by spaces, in which the following keywords are
allowed. Any multi-word arguments (e.g.
FROM "joey smith"
) must be quoted. Results will match
all criteria
entries.
flags
Valid values for flags
are
SE_UID
, which causes the returned array to
contain UIDs instead of messages sequence numbers.
charset
MIME character set to use when searching strings.
Returns an array of message numbers or UIDs.
Return false
if it does not understand the search
criteria
or no messages have been found.
版本 | 说明 |
---|---|
8.1.0 |
现在 imap 参数接受 IMAP\Connection
实例,之前接受有效的 imap resource。
|
示例 #1 imap_search() example
<?php
$imap = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($imap, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($imap, 'ALL');
$uids = imap_search($imap, 'ALL', SE_UID);
print_r($some);
print_r($msgnos);
print_r($uids);
?>
以上示例的输出类似于:
Array ( [0] => 4 [1] => 6 [2] => 11 ) Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) Array ( [0] => 1 [1] => 4 [2] => 6 [3] => 8 [4] => 11 [5] => 12 )