Аргументы: отсутствуют.
Отклики: немаркированные отклики: EXPUNGE.
Результат: OK - команда успешно завершена;
NO - команда не прошла: стирание не выполнено (например, запрещено);
BAD - команда неизвестна или неверен аргумент.
Команда EXPUNGE навечно удаляет из выбранного почтового ящика все сообщения, которые помечены флагами \Deleted. Прежде чем выдать клиенту сигнал OK, посылается немаркированный отклик EXPUNGE для каждого из удаляемых сообщений.
Пример: C: A202 EXPUNGE
S: * 3 EXPUNGE
S: * 3 EXPUNGE
S: * 5 EXPUNGE
S: * 8 EXPUNGE
S: A202 OK EXPUNGE completed
Замечание: в этом примере, сообщения 3, 4, 7 и 11 имеют установленный флаг \Deleted. Следует учитывать, что после каждого удаления сообщения перенумеруются.
5.4.4. Команда 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 <ключ поиска 1> <ключ поиска 2> | Сообщения, которые соответствуют любому из ключевых слов поиска. |
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. |