Если используется telnet-клиент из поставки Windows 2000, то подготовительные операции могут выглядеть так: нажатие комбинации клавиш “«Ctrl-]»” переводит клиента в командный режим, где команда “set LOCAL_ECHO” включает локальное эхо-отображение символов; вызов “open имя узла 110” устанавливает соединение с выбранным узлом по 110 порту и автоматически переводит клиента в рабочий режим.
Оба клиента запоминают последнюю используемую конфигурацию и в дальнейшем их можно вызывать из командной строки, например, следующим образом: “telnet.exe имя узла 110”.
Рисунок 008 Подключение к почтовому серверу
Если адрес сервера и порт указаны правильно, а сам сервер не находится в глубоком «дауне», через некоторое время (в зависимости от загруженности и скорости канала связи) будет установлено TCP-соединение, и на экране появится приветствие, приглашающее к началу работы (смотри рисунок 000).
Содержимое приветствия может варьироваться в широких пределах. Так, например, в приведенном примере сервер возвратил название и версию реализации программного обеспечения.
С этого момента сервер готов принимать запросы пользователя, если же тот в течение длительного времени не проявит никакой активности, соединение будет разорвано (на жаргоне это звучит «выгнали по тайм-ауту»). Чаще всего время бездействия ограничивается десятью минутами, но администраторы некоторых интенсивно используемых серверов, иногда уменьшают его до десятков секунд!
Рисунок 000 Приветствие сервера
В дальнейшем, дабы не приводить расточительные копии экрана, в книге будет использоваться содержимое окна telnet, представленное в удобочитаемой текстовой форме. Во избежание путаницы, команды, набираемые пользователем, будут выделяться таким , а ответы сервера - таким шрифтом.
Сразу же с момента выдачи приглашения сервер переходит в состояние аутентификации ( Authorization state ) - ожиданию имени пользователя и пароля, открывающего доступ к почтовому ящику. Команда «user» служит для передачи имени пользователя, которое должно быть отделено от команды пробелом. Например, это может выглядеть так:
· +OK QPOP (version 2.52) at mail.computerra.ru starting.
· USER ORION
· +OK Password required for user ORION
Если сервер подтверждает наличие указанного пользователя в системе, он требует сообщить пароль. Для передачи пароля предусмотрена команда “PASS”. В отличие от имени пользователя, пароль необходимо вводить с соблюдением регистра - в большинстве случаев (но не всегда) строчечные и заглавные символы различаются. Ниже приведен пример аутентификации пользователя с регистрационным именем “Orion” и паролем “Ngc1976”:
· +OK QPOP (version 2.52) at mail.computerra.ru starting.
· USER ORION
· +OK Password required for user ORION
· PASS Ngc1976
· +OK ORION's maildrop has 4 messages( 789046 octets)
Если сервер подтверждает корректность пароля, он открывает доступ к ящику и сразу же информирует о его состоянии. В приведенном выше примере в ящике содержатся четыре письма с общим объемом в 789 046 байт [190].
Врезка «замечание»
При перегрузке сервер может разорвать соединение, попросив пользователя повторить попытку немного позже.
Например:
· -ERR Unable to service you now. Try again later. If problem persist, contact system administrator
Иногда, по каким-то причинам почтовый ящик бывает временно недоступен. К примеру, при разрыве соединения, сессия с пользователем может удерживаться до десяти (а иногда и свыше тридцати!) минут - в течение этого времени попытки входа на ящик будут блокироваться.
В случае несовпадения пароля сервер, выдержав паузу (предусмотренную для предотвращения перебора паролей), сообщит об ошибке и разорвет соединение. Например, это может выглядеть так:
· +OK QPOP (version 2.52) at mail.computerra.ru starting.
· USER ORION
· +OK Password required for user ORION
· PASS M42
· -ERR Password supplied for "ORION" is incorrect
С момента подтверждения корректности пароля, сервер переходит в, так называемое, состояние транзакции ( Transaction state ), и ожидает от пользователя команд управляющих почтовым ящиком или доставляющих корреспонденцию на его локальный компьютер.
С пересылкой сообщений связано одно существенное ограничение протокола POP3, которое особенно неприятно для неанглоязычных корреспондентов. Стремясь увеличить скорость обмена между сервером и клиентом, американские разработчики (а протокол POP3 разработали именно они) решили пожертвовать одним битом, отводя на каждый символ семь бит, вместо положенных восьми.
Читать дальше