(PHP 4, PHP 5, PHP 7, PHP 8)
imap_search — This function returns an array of messages matching the given search criteria
imap_search( IMAP\Connection $imap, string $criteria, int $flags = SE_FREE, string $charset = "" ): array|false
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
An IMAP\Connection instance.
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.
charsetMIME 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.
| Version | Description |
|---|---|
| 8.1.0 | The imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected. |
Example #1 imap_search() example
<?php
$imap = imap_open('{imap.example.com:993/imap/ssl}INBOX', '[email protected]', '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);
?> The above example will output something similar to:
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
)
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.imap-search.php