imap_search
(PHP 4, PHP 5, PHP 7)
imap_search — Получить сообщения, удовлетворяющие заданным критериям
Описание
$imap_stream
, string $criteria
, int $options
= SE_FREE
, string $charset
= null
) : arrayЭта функция производит поиск в текущем почтовом ящике открытом в потоке IMAP.
К примеру, чтобы найти все неотвеченные сообщения посланные от мамы (Mom), нужно будет использовать "UNANSWERED FROM mom". Поиск регистронезависимый. Приведенный список критериев извлечен из исходных кодов UW c-client и может быть неполным или не совсем точным (дополнительно смотрите » RFC1176, секция "tag SEARCH search_criteria").
Список параметров
-
imap_stream
-
Поток IMAP, полученный из imap_open().
-
criteria
-
Строка, разделенная пробелами, в которой допустимо использовать следующие ключевые слова. Любые аргументы, состоящие из нескольких слов, должны быть заключены в двойные кавычки (например
FROM "joey smith"
). Результат будет совпадать со всеми заданными в параметреcriteria
критериями.- ALL - возвращать все сообщения, соответствующие остальным критериям
- ANSWERED - сообщения с выставленным флагом \\ANSWERED
- BCC "string" - сообщения в поле Bcc: которых присутствует "string"
- BEFORE "date" - сообщения с Date: до "date"
- BODY "string" - сообщения содержащие "string" в теле
- CC "string" - сообщения в поле Cc: которых присутствует "string"
- DELETED - удаленные сообщения
- FLAGGED - сообщения с установленным флагом \\FLAGGED (иногда называют "Срочное" или "Важное")
- FROM "string" - сообщения в поле From: которых присутствует "string"
- KEYWORD "string" - сообщения с ключевым словом "string"
- NEW - новые сообщения
- OLD - старые сообщения
- ON "date" - сообщения с Date: равным "date"
- RECENT - означает сообщения с выставленным флагом \\RECENT
- SEEN - прочтенные сообщения (установлен флаг \\SEEN)
- SINCE "date" - сообщения с Date: после "date"
- SUBJECT "string" - сообщения в поле Subject: которых присутствует "string"
- TEXT "string" - сообщения с текстом "string"
- TO "string" - сообщения в поле To: которых присутствует "string"
- UNANSWERED - неотвеченные сообщения
- UNDELETED - не удаленные сообщения
- UNFLAGGED - сообщения без установленных флагов
- UNKEYWORD "string" - сообщения, не имеющие ключевого слова "string"
- UNSEEN - непрочтенные сообщения
-
options
-
Корректные значения
options
- этоSE_UID
, что приведет к тому, что в возвращенном массиве вместо номеров сообщений будут содержаться их UID. -
charset
-
Кодировка MIME, в которой будет происходить поиск.
Возвращаемые значения
Возвращает номера сообщений или их UID.
Возвращает false
, если сообщения не найдены, либо критерии указанные
в criteria
некорректны.
Примеры
Пример #1 Пример использования imap_search()
<?php
$conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($conn, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($conn, 'ALL');
$uids = imap_search($conn, '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 )
Смотрите также
- imap_listscan() - Получить список почтовых ящиков, имена которых содержат заданную строку