Электронная почта
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
нду USER, либо закрыть сессию.
Примеры использования команды:
С: USER frated: -ERR sorry, no mailbox for frated here
или
С: USER mrose: +OK mrose is a real hoopy frood
Примечание
Сервер может вернуть отрицательный ответ, если почтовый ящик существует, но по каким-либо причинам не доступен.
Команда PASS используется только после положительного ответа на команду USER: PASS string
Аргументом команды является строка пароля данного почтового ящика. После получения команды PASS, РОРЗ-сервер, на основании аргументов команд USER и PASS, определяет возможность доступа к заданному почтовому ящику. Если РОРЗ-сервер ответил "+OK", это означает, что аутентификация клиента прошла успешно и он может работать со своим почтовым ящиком, т. е. сессия переходит в состояние TRANSACTION. Если РОРЗ-сервер ответил "-ERR", то либо был введен неверный пароль, либо не найден указанный почтовый ящик:
С: USER mrose: +OK mrose is a real hoopy frood
С: PASS secret: -ERR maildrop already locked
или
С: USER mrose: +OK mrose is a real hoopy frood: PASS secret: +OK mrose's maildrop has 2 messages (320 octets)
Команда аутентификации пользователя АРОР не входит в список обязательно реализуемых команд РОРЗ -сервера. Эта команда предоставляет значительно больший (по сравнению с командами USER или PASS) уровень защиты аутентификации пользователя при открытии сессии AUTHORIZATION и используется только тогда, когда к обеспечению конфиденциальности доступа к информации почтовых ящиков предъявляются повышенные требования. Эта команда может быть передана клиентом РОРъявляются повышенные требования. Эта команда может быть передана клиентом РОРЗ-сервера после получения приветственного сообщения или после ошибки обработки команд USER/PASS.
АРОР name digest
Аргументами команды являются: name - имя пользователя (то же, что и в команде USER), digest - шифрованная (по алгоритму MD5) строка пароля. Применяемый здесь алгоритм необратимого шифрования для построения секретного ключа использует открытый ключ и временную метку. Временные метки передаются хосту клиента вместе с сообщением приветствия. Например, для UNIX-машин временная метка может иметь вид: , где process-ID - это идентификатор процесса, clock - состояние таймера на момент установления соединения, hostname - имя компьютера РОРЗ -сервера. Этот механизм позволяет достичь очень высокой степени защищенности.
Далее показан пример работы команды АРОР.
S: +OK РОРЗ server ready 1896.697170952@dbc.mtview.ca.us
С: АРОР mrose c4c9334bac560ecc979e58001b3e22fb: +OK maildrop has 1 message (369 octets)
Алгоритм на основании открытого ключа "tanstaaf и временной метки построил шифрованную строку "c4c9334bac560ecc979e5800Ib3e22fb"
К командам состояния AUTHORIZATION может относиться команда закрытия РОРЗ-сессии - QUIT, если она была отправлена в режиме AUTHORIZATION (например, при вводе неправильного пароля или идентификатора пользователя):
Эта команда отправляется без аргументов и всегда имеет единственный ответ "+ОК", например:
С: QUIT: +ОК dewey POP3 server signing off
После того как клиент успешно прошел процедуру аутентификации в РОРЗ-сервере, и РОРЗ-сервер "закрыл" определенный почтовый ящик только для использования данным клиентом (для тех, кто работал с базами данных, это называется EXCLUSIVE ACCESS LOCK), РОРЗ- сессия переходит в режим TRANSACTION, и клиент может начать работу со своей почтой.
Команда STAT (без аргументов) используется для просмотра состояния текущего почтового ящика.
В ответ РОРЗ-сервер возвращает строку, содержащую количество и общий размер в байтах сообщений, которые клиент может получить с РОРЗ- сервера. Сообщения, помеченные на удаление, не учитываются. Формат ответа: "+ОК nn mm", где nn - количество сообщений, mm - их общий объем:
С: STAT: +ОК 2 320
В этом примере РОРЗ-сервер сообщает, что в данном почтовом ящике находятся два сообщения общим объемом 320 байт.
После тр и устанавливает его размер в байтах. Первому сообщению присваивается число 1, второму - 2 и т. д. Далее во всех командах, относящихся к сообщениям, РОРЗ-сервер ссылается на сообщения по их номерам и указывает их размер только в десятичном виде.
Команда LIST может передаваться как с аргументом msg - номером сообщения, так и без аргумента:
[msg]
Если команда содержит аргумент, и сообщение с указанным номером существует, ответом на нее будет "информационная строка", которая содержит номер сообщения и размер сообщения в байтах. Если аргумент не указан - ответом будет список информационных строк обо всех сообщениях в данном почтовом ящике. Сообщения, помеченные на удаление не фигурируют в этом списке:
С: LIST
S: +ОК 2 messages (320 octets): 1 120: 2 200:
или
С: LIST 2
S: +ОК 2 200
или
С: LIST 3
S: -ERR no such message, only 2 messages in maildrop
Следующая команда - команда RETR - используется для передачи клиенту запрашиваемого сообщения:
msg
Аргумент команды - номер сообщения. Если запрашиваемого сообщения нет, возвращается отрицательный индикатор "-ERR".
С: RETR 1: +ОК 120 octets:
S:
После получения, сообщение, как правило, помечается на удаление из почтового ящика, при этом используется команда DELE:
msg
Аргумент команды- номер сообщения. Сообщения, помеченные на удаление, реально удаляются только после закрытия транзакции, на стадии UPDATE.
С: DELE 1: +ОК message 1 deleted
ИЛИ
С: DELE 2: -ERR message 2 already deleted
Для проверки состояния соединения с РО