|
SEEN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
APPEND |
|
Имя |
почтового |
ящика |
, |
|
|
|
Нет |
отклика |
|
|
OK |
— |
успешно |
завершено |
|
|
Добавляет сообщение в |
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
конец указанного |
|
|||
|
|
в |
|
скобках |
|
список |
|
|
|
|
|
|
|
|
|
|
NO |
— |
ошибка |
|
в |
аргументах |
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
почтового ящика. Данная |
|
|||
|
|
флагов |
, |
в |
скобках |
|
|
|
|
|
|
|
или |
отказано |
в |
доступе |
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
команда считается |
|
|||||
|
|
строка |
|
|
даты |
|
и |
|
времени |
, |
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
небезопасной, лучшее |
|
|||||||||||
|
|
сообщение |
в |
формате |
|
|
|
|
|
|
поддерживает |
запрос |
или |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
решение – использование |
|
|||||||||||||||||||||||||||||
|
|
MIME |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
некорректны |
аргументы |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
специализированного |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
протокола SMTP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 8.5 |
|
Список базовых команд протокола IMAP доступных в состоянии “Выбран почтовый ящик”
Команда |
Аргументы |
Отклик |
|
Результат |
|
Описание |
|||||||||||||||||||||
CHECK |
Нет аргументов |
|
Нет |
отклика |
|
|
|
|
OK |
— |
успешно |
завершено |
|
|
Организует проверку |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
целостности выбранного |
|||
|
|
|
|
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
почтового ящика. |
||||||
|
|
|
|
|
|
|
|
поддерживает |
запрос |
или |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Особенности данной |
|||||||||
|
|
|
|
|
|
|
|
некорректны |
аргументы |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
проверки определяет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
реализация программного |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
обеспечения сервера. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
CLOSE |
Нет аргументов |
|
Нет |
отклика |
|
|
|
|
OK |
— |
успешно |
завершено |
|
|
Закрывает открытый |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
почтовый ящик и удаляет |
||||||||||
|
|
|
|
|
|
|
|
|
|
NO |
— |
не |
выбран |
почтовый |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
все сообщения с флагом |
|||||||||||||
|
|
|
|
|
|
|
|
ящик |
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DELETED |
|||||||||||
|
|
|
|
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
поддерживает |
запрос |
или |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
некорректны |
аргументы |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
EXPUNGE |
Нет аргументов |
|
EXPUNGE |
номер |
удалённого |
|
|
OK |
— |
успешно |
завершено |
|
|
Удаляет все сообщения с |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сообщения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NO |
— |
не |
выбран |
почтовый |
|
|
|
флагом DELETED |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ящик |
или |
отказано |
в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
доступе |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поддерживает |
запрос |
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
некорректны |
аргументы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
SEARCH |
Критерии поиска |
|
|
SEARCH |
номера |
сообщений |
, |
|
|
|
|
|
|
|
OK |
— |
успешно |
завершено |
|
|
|
|
Запрашивает у сервера |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
(Описаны в таблице |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
список сообщений по |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
удовлетворяющим |
|
критериям |
|
поиска |
|
|
NO |
— |
ошибка |
|
в |
аргументе |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
8.6) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
критериям поиска. |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поддерживает |
запрос |
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
некорректны |
аргументы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
FETCH |
|
Номер |
сообщения |
или |
|
|
FETCH |
запрошенные |
элементы |
|
|
|
|
|
OK |
— |
успешно |
завершено |
|
|
|
|
Запрашивает у сервера |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
элементы данных |
||||||||||||||||||||||||||||||||||||||||
|
|
диапазон |
, |
|
элементы |
|
|
|
|
сообщений |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NO |
— |
ошибка |
|
в |
аргументе |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сообщения или списка |
||||||||||||||||||||||||||||
|
|
данных |
|
в |
|
сообщении |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
(Описаны в таблице |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сообщений |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поддерживает |
запрос |
или |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
8.7) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
некорректны |
аргументы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
STORE |
|
Номер |
сообщения |
или |
|
|
FETCH |
обновлённая |
информация |
о |
|
|
|
OK |
— |
успешно |
завершено |
|
|
|
|
Изменение списка флагов у |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сообщения или списка |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
диапазон |
, |
|
+/- |
FLAGS |
|
|
|
|
сообщениях |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NO |
— |
ошибка |
|
в |
аргументе |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сообщений |
|||||||||||||||||||||||||||||||
|
|
добавление |
|
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
удаление |
|
флагов |
, |
|
в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поддерживает |
запрос |
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
скобках |
|
список |
|
|
флагов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
некорректны |
аргументы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
COPY |
|
Номер |
сообщения |
или |
|
|
Нет |
отклика |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OK |
— |
успешно |
завершено |
|
|
|
|
Копирует |
сообщения |
или |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
диапазон |
, |
|
имя |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NO |
— |
ошибка |
|
в |
аргументе |
|
|
|
диапазон |
|
сообщений |
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
почтового |
|
ящика |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
или |
отказано |
в |
доступе |
|
|
|
выбранного |
|
почтового |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BAD |
— |
сервер |
не |
|
|
|
|
|
|
|
|
|
|
ящика |
|
в |
|
конец |
|
указанного |
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
поддерживает |
запрос |
или |
|
|
|
почтового |
|
ящика |
. |
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
некорректны |
аргументы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 8.6
Основные критерии поиска команды SEARCH протокола IMAP
Критерий |
Описание |
ALL |
Все сообщения в выбранном почтовом ящике |
BEFORE <date> |
Сообщения пришедшие раньше указанной даты |
FROM <string> |
Сообщения от указанного отправителя |
KEYWORD <flag> |
Сообщения с указанным флагом |
ON <date> |
Сообщения с указанной датой |
SINCE <date> |
Сообщения пришедшие позже указанной даты |
SUBJECT <string> |
Сообщения с указанной темой |
TEXT <string> |
Сообщения содержащие указанный текст |
TO <string> |
Сообщения отправленные указанному получателя |
UID <message set> |
Сообщения с указанными UID |
UNKEYWORD <flag> |
Сообщения без указанным флагом |
Таблица 8.7
Основные элементы данных команды FETCH протокола IMAP
Элемент данных |
Описание |
|
|
ALL |
Запрашивает всё сообщение вместе с заголовком |
|
|
BODY |
Запрашивает тело сообщения |
|
|
BODY[<section>] |
Запрашивает определённую часть сообщения. Подробности о структуре |
|
сообщения изложены в лабораторной работе посвященной протоколу SMTP |
|
|
FLAGS |
Запрашивает флаги, установленные для сообщения |
|
|
INTERNALDATE |
Запрашивает дату получения сообщения |
|
|
UID |
Запрашивает UID сообщения. |
|
|
8.3.8. Пример IMAP транзакции
Приветствие сервера после успешного подключения, сервер переходит в состояние “Аутентификация не произведена”
* OK Yandex IMAP4rev1 at imap8j.mail.yandex.net:993 ready to talk with 178.66.216.140:12556, 2015-May-18 19:07:46, k7fPCe6eoa68
Аутентификация с помощью команды LOGIN, сервер переходит в состояние “Аутентификация произведена”
A001 Login username password
A001 OK Login Completed.
Выбираем почтовый ящик с помощью команды SELECT, сервер переходит в состояние “Выбран почтовый ящик”
A004 Select inBox
*FLAGS (\Answered \Seen \Draft \Deleted $Forwarded)
*25 EXISTS
*24 RECENT
*OK [PERMANENTFLAGS (\Answered \Seen \Draft \Flagged \Deleted $Forwarded \*)] Limited
*OK [UIDNEXT 53] Ok
*OK [UIDVALIDITY 1418574115] Ok
A004 OK [READ-WRITE] Select Completed.
Запрашиваем у сервера заголовок первого сообщения в почтовом ящике
A005 Fetch 1 body[header]
* 1 FETCH (BODY[HEADER] {329}
Content-Type: multipart/related; boundary="===============1696383123==" MIME-Version: 1.0
From: =?utf-8?b?0K/QvdC00LXQutGB?= <hello@yandex.ru> Subject: =?utf-8?b?0KHQvtCx0LXRgNCIg0Y/RidC40Lo=?=
Message-Id: <20110815165837.A26162B2802A@yaback1.mail.yandex.net>
)
A005 OK Fetch Completed.
Закрываем почтовый ящик, сервер переходит в состояние “Аутентификация произведена”
A006 Close
* OK CLOSE expunged 3 of 3 messages so far A006 OK Close Completed.
Инициируем закрытие соединения
A007 Logout
* BYE IMAP4rev1 Server logging out A007 OK LOGOUT completed
8.4. Организация защищённого соединения
Для организации защищённых соединений необходимо подключить пакет OpenSSL, который предоставляет возможности шифрования. В файл qMake (name_project.pro) необходимо дописать следующие строки, исправив пути к библиотекам:
LIBS += -LC:\Qt\OpenSSL-Win32\ -llibeay32 LIBS += -LC:\Qt\OpenSSL-Win32\ -llibssl32 LIBS += -LC:\Qt\OpenSSL-Win32\ -lssleay32
INCLUDEPATH +=C:\Qt\OpenSSL-Win32\include\ DEPENDPATH +=C:\Qt\OpenSSL-Win32\include\
8.5. Организация защищённого соединения средствами библиотеки Qt
Чтобы организовать защищённое соединение средствами библиотеки Qt необходимо использовать класс QSslSocket. Данный класс обеспечивает шифрованное TCP соединение клиента и сервера. Класс унаследован от
QTcpSocket.
QSslSocket поддерживает современные протоколы SSL, такие как
SSLv3 и TLSv1_0. По умолчанию используется TLSv1_0. TLS и SSL
используют ассиметричную криптографию для аутентификации и симметричное шифрование сообщений. Протокол TLS является приемником протокола SSL и является более безопасным, поэтому рекомендовано использовать именно протокол TLS. Шифрование осуществляется поверх существующего сокета, поэтому процедура соединения несколько отличается от QTcpSocket.