Описание различных протоколов, начнем с POP3:
POP3 - одна из реализаций протокола входящей почты. Именно по нему ваш почтовый
клиент получает почту с вашего почтового сервера. Так исторически сложилось, что
сервер входящей почты крутиться на 110-м порту, и обмен данными по протоколу
POP3 между клиентом и сервером идет именно через этот порт.
Команда протокола представляет из себя следующую структуру:
COMM [arg1] [arg2] … [argn]
Сдесь COMM - сама команда. Она может состоять из трех или четырех символов.
[arg1] [arg2] … [argn] - аргументы передаваемые команде.
В ответ на команду сервер отвечает следующей структурой:
STATUS [info]
STATUS может принимать только два значения - +OK (свидетельствует об успешном
выполнении команды) и -ERR (соответственно ошибка). Обычно (хотя совсем не
обязательно) после STATUS следует какая-то информация о результате.
Ниже приведены команды и возможные ответы сервера:
STAT - используется для просмотра состояния текущего почтового ящика.
Ответ сервера: "+OK nn mm" nn - кол-во сообщений, mm - их общий объем.
LIST [msg] - может передаваться как с аргументом msg - номером сообщения, так
и без аргумента. Если команда содержит аргумент, и сообщение с указанным номером
существует, ответом на нее будет "информационная строка", которая содержит номер
сообщения и размер сообщения в байтах. Если аргумент не указан - ответом будет
список информационных строк обо всех сообщениях в данном почтовом ящике.
Сообщения, помеченные на удаление не фигурируют в этом списке
RETR msg - передать клиенту сообщение с указанным номером (msg). В ответ сервер
выводит +OK [инфо] [текст сообщения]
DELE msg - Пометить сообщение с указанным номером к удалению. Возможный ответ
сервера: +OK [msg] delited
NOOP - Используется для проверки состояния соединения. Ответом на нее будет +OK
если соединение не разорвано
RSET - откат. Если есть помеченные к удалению сообщения, пометки снимаются.
Возможно только внутри одной сессии.
TOP msg n - В ответ на эту команду сервер выдаст первые n строк сообщения msg
USER user - Используется при авторизации на сервере чтобы ввести логин
PASS pass - Используется при авторизации на сервере чтобы ввести пароль.
ВНИМАНИЕ!!! Протокол POP3 не предусматривает шифрование данных. Т.е. пароль
передается в не зашифрованном виде ( как есть).
QUIT - эта команда отправляется без аргументов и всегда сервер на нее возвращает
+OK =)
Теперь давай посмотрим на практике что же представляет собой сеанс работы по
POP3. Для этого нам понадобиться только одна программа. Она есть во всех без
исключения операционных системах. Называется она telnet =) И так, запускай
командный интерпретатор своей операционки и вперед:
$telnet pop.newmail.ru 110 // соединяемся с сервером
USER vasya@nm.ru //афторизация на сервере
+OK
PASS fuckoff
+OK
STAT // проверка состояния
+OK 14 252914
LIST // список сообщений
+OK
1 2008
2 1268
3 1240
4 867
5 818
6 852
7 199690
8 4083
9 1665
10 3336
11 6586
12 9871
13 15149
14 5481
.
RETR 1 //прочитаем первое в списке
+OK
Return-Path:
Delivered-To: vasya@nm.ru
X-String-ID: 39
Received:(qmail 21381 invoked from network);
9 Oct 2005 14:53:16 -0000
Received: from omr-r01.mx.aol.com
(HELO omr-r01.mail.aol.com) (152.163.225.129)
by grif.newmail.ru with SMTP; 9 Oct 2005 14:53:16 -0000
Received: from icq.com (205.188.251.66)
by omr-r01.mail.aol.com with SMTP; 09 Oct 2005 10:53:15 -0400
Message-Id: <42fghj$q3otg5@omr-r01.mail.aol.com>
Subject: Your New ICQ Password
From: ICQ Password Assistance
To: vasya@nm.ru
Content-Type: text/html; charset=utf-8
MIME-Version: 1.0
X-SpamTest-Info: Profile: Formal (269/050913)
X-SpamTest-Info: Profile: Archiving (2/030321)
X-SpamTest-Status: Not detected
X-SpamTest-Version: SMTP-Filter Version 2.0.0 [0125], KAS/Release
Хрен тебе а не новый пароль!
С уважением,
Администрация icq.com
.
RETR 15 //читаем 15-e сообщение
-ERR not that many messages //ошибка
QUIT //отключаемся
+OK
Отредактировано finn (2007-07-04 21:32:52)