
- •Функции [править] socket() [править]
- •Connect() [править]
- •Bind() [править]
- •Передача данных [править]
- •Высвобождение ресурсов [править]
- •Заголовок сегмента tcp
- •[Править]Порт источника
- •[Править]Порт назначения
- •Контрольная сумма
- •[Править]Указатель важности
- •[Править]Опции
- •Передача данных
- •Структура пакета [править]
- •Приложения [править]
- •Ключевые характеристики dns [править]
- •Дополнительные возможности [править]
- •Записи dns [править]
- •Команды протокола
- •Преимущества по сравнению с pop3
- •Взаимодействие клиента и сервера
Команды протокола
APOP
Команда служит для передачи серверу имени пользователя и зашифрованного пароля (digest). [имя] — строка, указывающая имя почтового ящика. [digest] — хеш-сумма временной метки, конкатенированной с паролем пользователя, вычисленная по алгоритму MD5. В случае поддержки этой команды временная метка получается при соединении с сервером.
[править]USER
Передаёт серверу имя пользователя. [имя] — строка, указывающая имя почтового ящика.
[править]PASS
Передаёт серверу пароль почтового ящика. [пароль] — пароль для почтового ящика.
[править]DELE
Сервер помечает указанное сообщение для удаления. Сообщения, помеченные на удаление, реально удаляются только после закрытия транзакции (закрытие транзакций происходит обычно после посыла команды QUIT, кроме этого, например, на серверах закрытие транзакций может происходить по истечении определённого времени, установленного сервером). [сообщение] — номер сообщения.
[править]LIST
Если был передан аргумент, то сервер выдаёт информацию об указанном сообщении. Если аргумент не был передан, то сервер выдаёт информацию обо всех сообщениях, находящихся в почтовом ящике. Сообщения, помеченные для удаления, не перечисляются. [сообщение] — номер сообщения (необязательный аргумент).
[править]NOOP
Сервер ничего не делает, всегда отвечает положительно.
[править]RETR сообщение
Сервер передаёт сообщение с указанным номером. [сообщение] — номер сообщения.
[править]RSET
Этой командой производится откат транзакций внутри сессии. Например, если пользователь случайно пометил на удаление какие-либо сообщения, он может убрать эти пометки, отправив эту команду.
[править]STAT
Сервер возвращает количество сообщений в почтовом ящике и размер почтового ящика в октетах. Сообщения, помеченные, как удаленные при этом не учитываются.
[править]TOP
Сервер возвращает заголовки указанного сообщения, пустую строку и указанное количество первых строк тела сообщения. [сообщение] — номер сообщения. [количество строк] — сколько строк нужно вывести.
IMAP (англ. Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте.
Базируется на транспортном протоколе TCP и использует порт 143.
IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем.
Преимущества по сравнению с pop3
При использовании POP3 клиент подключается к серверу только на промежуток времени, необходимый для загрузки новых сообщений. При использовании IMAP соединение не разрывается, пока пользовательский интерфейс активен, а сообщения загружаются только по требованию клиента. Это позволяет уменьшить время отклика для пользователей, в чьих ящиках имеется много сообщений большого объёма.
Протокол POP требует, чтоб текущий клиент был единственным подключенным к ящику. IMAP позволяет одновременный доступ нескольких клиентов к ящику и предоставляет клиенту возможность отслеживать изменения, вносимые другими клиентами, подключенными одновременно с ним.
Благодаря системе флагов, определенной в IMAP4, клиент может отслеживать состояние сообщения (прочитано, отправлен ответ, удалено и т. д.); данные о флагах хранятся на сервере.
Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение IMAP4 Access Control List (ACL) Extension (RFC 4314) для управления правами доступа к ящикам.
Поиск сообщений происходит на стороне сервера.
IMAP4 имеет явный механизм расширения.