6.4.2. Команда CLOSE
Аргументы: | не используются |
Отклик: | для этой команды не существует специфических откликов |
Результат: | OK — выбор ящика отменен, текущее состояние authenticated NO — отказ — не выбрано почтового ящика BAD — команда не поддерживается или некорректны аргументы |
Команда CLOSE уничтожает в выбранном почтовом ящике все сообщения с установленным флагом \Deleted и обеспечивает возврат в состояние authenticated из состояния. В ответ на команду передается без тега отклик EXPUNGE. Сообщения не удаляются и сообщения об ошибке не возвращается, если почтовый ящик был выбран командой EXAMINE или открыт в режиме read-only (только чтение).
Если почтовый ящик выбран, команды SELECT, EXAMINE, LOGOUT могут вводиться без предшествующей команды CLOSE. Команды SELECT, EXAMINE и LOGOUT явно отменяют текущий выбор почтового ящика без удаления сообщений из него. Однако при наличии большого числа сообщений с флагом \Deleted последовательности CLOSELOGOUT и CLOSE-SELECT заметно быстрее, чем EXPUNGE-LOGOUT или EXPUNGE-SELECT, поскольку они не передают непомеченных откликов EXPUNGE (которые клиент обычно игнорирует).
Пример: C: A341 CLOSE S: A341 OK CLOSE completed
6.4.3. Команда EXPUNGE
Аргументы: | не используются |
Отклик: | непомеченный отклик 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 (см. описание отклика EXPUNGE).