imap_search
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_search — Получить сообщения, удовлетворяющие заданным критериям
Описание
imap_search(
resource $imap
,
string $criteria
,
int $flags
= SE_FREE
,
string $charset
= ""
): array|false
К примеру, чтобы найти все неотвеченные сообщения посланные
от мамы (Mom), нужно будет использовать "UNANSWERED FROM mom".
Поиск регистронезависимый. Приведённый список критериев извлечён
из исходных кодов UW c-client и может быть неполным или не совсем
точным (дополнительно смотрите » RFC1176,
секция "tag SEARCH search_criteria").
Список параметров
-
imap
-
Поток 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 - непрочитанные сообщения
-
flags
-
Корректные значения flags
- это
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() - Получить список почтовых ящиков, имена которых содержат заданную строку