Команда SEARCH
Аргументы: опционны, [CHARSET]-спецификация.
Критерии поиска (один или более).
Отклики: необходим немаркированный отклик: SEARCH.
Результат: OK - поиск завершен;
NO - ошибка: поиск для данного набора символов или критериев не возможен;
BAD - команда неизвестна или неверен аргумент
Команда SEARCH ищет почтовый ящик, который отвечает выбранным критериям отбора. Критерий отбора состоит из одного или более ключей поиска. Немаркированный отклик SEARCH от сервера содержит список номеров сообщений, которые соответствуют критериям отбора.
Когда специфицировано несколько ключей, результатом является (функция AND) совокупность всех сообщений, отвечающим заданным критериям. Например, критерий DELETED FROM "SMITH" SINCE 1-Feb-1994 относится ко всем стертым сообщениям от Смита, которые были положены в почтовый ящик после 1-го февраля 1994. (например, для объединения этих ключей с помощью функций OR и NOT).
Опционная спецификация [CHARSET] состоит из слова "CHARSET", за которым следует зарегистрированное наименование символьного набора [CHARSET]. Он включает в себя [CHARSET] строк, которые используются в качестве критерия отбора. Транспортное кодирование содержимого [MIME-IMB] и строки [MIME-HDRS] в [RFC-822]/[MIME-IMB] заголовках, должны декодироваться перед сравнением текста в представлении [CHARSET], отличном от US-ASCII. US-ASCII должно поддерживаться всегда, но могут использоваться и другие символьные наборы. Если сервер не поддерживает специфицированный набор символов [CHARSET], он должен вернуть маркированный отклик NO (но не BAD).
Для всех ключей поиска, которые используют строки, сообщение соответствует ключу, если строка является частью строки поля в сообщении. Соответствие не должно зависеть от использования строчных или прописных символов. Стандартными ключами поиска являются следующие слова и выражения.
Сообщения с номерами, соответствующими специфицированному набору номеров | |
ALL | Все сообщения в почтовом ящике. Ключ отбора по умолчанию для применения команд AND |
ANSWERED | Сообщения с установленным флагом \Answered. |
BCC | Сообщения, которые содержат специфицированную строку в поле BCC структуры заголовка сообщения. |
BEFORE | Сообщения, чьи внутренние даты раньше указанной. |
BODY | Сообщения, которые содержат специфицированную строку в теле сообщения. |
CC | Сообщения, которые содержат специфицированную строку в CC поле заголовка. |
DELETED | Сообщения с установленным флагом \Deleted. |
DRAFT | Сообщения с установленным флагом \Draft. |
FLAGGED | Сообщения c установленным флагом \Flagged. |
FROM | Сообщения, которые содержат специфицированную строку в поле FROM заголовка. |
HEADER | Сообщения, которые содержат заголовок со специфицированным именем поля (в соответствии с [RFC-822]) и специфицированную строку в теле данного поля. |
KEYWORD | Сообщения со специфицированным ключевыми словами. |
LARGER | Сообщения с размером [RFC-822] больше чем специфицированное число октетов. |
NEW | Сообщения, которые имеют установленный флаг \Recent, но не имеют флага \Seen. Это функционально эквивалентно "(RECENT UNSEEN)". |
NOT | Сообщения, которые не содержат специфицированного ключевого слова. |
OLD | Сообщения, которые не имеют флага \Recent. "NOT RECENT" (противоположно "NOT NEW"). |
ON | Сообщения, чья внутренняя дата соответствует специфицированному значению даты. |
OR | Сообщения, которые соответствуют любому из ключевых слов поиска. |
RECENT | Сообщения, которые имеют установленный флаг \Recent. |
SEEN | Сообщения, которые имеют установленный флаг \Seen. |
SENTBEFORE | Сообщения, чье содержимое заголовка, соответствует дате ранее специфицированного значения [RFC-822]. |
SENTON | Сообщения, чье содержимое заголовка, соответствует специфицированной дате [RFC-822] |
SENTSINCE | Сообщения, чье содержимое заголовка, соответствует [RFC-822]: специфицированному значению даты или позже. |
SINCE | Сообщения, чья внутренняя дата соответствует или позже специфицированного значения. |
SMALLER | Сообщения с размером [RFC-822] меньше чем специфицированное число октетов. |
SUBJECT | Сообщения, которое содержит специфицированную строку в поле SUBJECT заголовка. |
TEXT | Сообщения, которые содержат специфицированную строку в заголовке или теле сообщения |
TO | Сообщения, которые содержат специфицированную строку в поле заголовка TO. |
UID | Сообщения с уникальными идентификаторами, соответствующими заданному значению идентификатора. |
UNANSWERED | <>Сообщения, которые не имеют флага \Answered. |
UNDELETED | Сообщения, которые не имеют флага \Deleted. |
UNDRAFT | Сообщения, которые не имеют флага \Draft. |
UNFLAGGED | Сообщения, которые не имеют флага \Flagged. |
UNKEYWORD | Сообщения, которые не содержат заданных ключевых слов. |
UNSEEN | Сообщения, которые не имеют флага \Seen. |
Пример: C: A282 SEARCH FLAGGED SINCE 1-Feb-1994 NOT FROM "Smith"
S: * SEARCH 2 84 882
S: A282 OK SEARCH completed