Один из протоколов которые использует электронная почта
Протоколы работы с почтой: POP3, IMAP4, SMTP.
- Обзор почтовых протоколов.
- Схема работы почтовых протоколов стека TCP/IP
- SMTP
- POP
- IMAP
- IMAP осуществляет хранение почты на сеpвеpе в файловых диpектоpиях, а также предоставляет клиенту возможность производить поиск строк в почтовых сообщениях на самом сеpвеpе.
- IMAP2 — используется в редких случаях.
- IMAP3 — несовместимое ни с чем pешение, не используется.
- IMAP2bis — pасшиpение IMAP2, позволяет сеpвеpам pазбиpаться в MIME-стpуктуpе (Multipurpose Internet Mail Extensions) сообщения, используется до сих пор.
- IMAP4 — пеpеpаботанный и pасшиpенный IMAP2bis, который можно использовать где угодно.
- IMAP4rev1 — pасшиpяет IMAP большим набором функций, включая те, котоpые используются в DMSP (Distributed Mail System for Personal Computers).
ACAP (Application Configuration Access Protocol) — протокол, pазpаботанный для работы с IMAP4; добавляет возможность поисковой подписки и подписки на доски объявлений, почтовые ящики и используется для поиска адресных книг.
DMSP (или PCMAIL) — протокол для приема/отправки почты, особенность которого заключается в том, что пользователь может иметь более одной рабочей станции в своем пользовании. Рабочая станция содержит статусную информацию о почте, диpектоpию, через которую происходит обмен, которая при подключении к серверу обновляется до текущего состояния на mail-сеpвеpе.
MIME — стандарт, определяющий механизмы для отправки разного рода информации с помощью электронной почты, включая текст на языках, отличных от английского, для которых используются символьные кодировки, отличные от ASCII, а также 8-битный бинарный контент, такой как картинки, музыка, фильмы и программы.
Схема работы почтовых протоколов стека TCP/IP
-
SMTP В Интернете для доставки электронной почты машина-источник устанавливает TCP-соединение с портом 25 машины приемника. Этот порт прослушивается почтовым демоном, и их общение происходит с помощью протокола SMTP (Simple Mail Transfer Protocol простой протокол электронной почты). Этот демон принимает входящие соединения и копирует сообщения из них в соответствующие почтовые ящики. Если письмо не возможно доставить, отправителю отправляется сообщение об ошибки, содержащее первую часть этого письма. MTA (Mail Transfer Agent) — агент передачи почты — является основным компонентом системы передачи почты Internet, который представляет данный сетевой компьютер для сетевой системы электронной почты. Обычно пользователи работают не с MTA, а с программой MUA (Mail User Agent) — клиентом электронной почты. Схематично принцип взаимодействия показан на рисунке. Протокол SMTP представляет собой простой ASCII протокол. Установив ТСР-соединение с портом 25. передающая машина выступающая в роли клиента, ждет запроса принимающей машины, работающей в режиме сервера. Сервер начинает диалог с того что посылает текстовую строку, содержащую его идентификатор и сообщающую о его готовности (или неготовности) к приему почты. Если сервер не готов, клиент разрывает соединение и продолжает попытку позднее. Если сервер готов принимать почту, клиент объявляет, от кого поступила почта и кому она предназначается. Если получатель почты существует, сервер дает клиенту добро на пересылку сообщения. Затем клиент посылает сообщение. А сервер подтверждает его получение. Контрольные суммы не проверяются, так как протокол ТСР обеспечивает надежный байтовый поток. Если у отправителя есть еще почта. Она также отправляется. После передачи всей почты в обоих направлениях соединение разрывается. Простейший пример SMTP-сессии С: — клиент, S: — сервер
S: (ожидает соединения) C: (Подключается к порту 25 сервера) S:220 mail.company.tld ESMTP CommuniGate Pro 5.1.4i is glad to see you! C:HELO S:250 domain name should be qualified C:MAIL FROM: S:250 someusername@somecompany.ru sender accepted C:RCPT TO: S:250 user1@company.tld ok C:RCPT TO: S:550 user2@company.tld unknown user account C:DATA S:354 Enter mail, end with "." on a line by itself C:Hi! C:. S:250 769947 message accepted for delivery C:QUIT S:221 mail.company.tld CommuniGate Pro SMTP closing connection S: (закрывает соединение)
В результате такой сессии письмо будет доставлено адресату user1@company.tld, но не будет доставлено адресату user2@company.tld, потому что такого адреса не существует. Некоторые команды SMTP
HELO Идентифицирует SMTP-сервер отправителя, открывает сеанс пробел QUIT Завершает SMTP-сеанс. MAIL FROM: Задает адрес отправителя. RCPT TO: Задает адрес получателя. DATA Указывает на начало сообщения. Для окончания сообщения указывается . VRFY проверяет существование получателя. EXPN показывает список адресов для списка рассылки. NOOP пустая операция TURN сервер и клиент меняются ролями после ответа сервера 200 OK RSET сброс сессии в исходное состояние HELP информация о поддерживаемых командах Из-за проблем со спамом, почти все современные сервера игнорируют команды VRFY и EXPN, как раскрывающие информацию о пользователе. Для решения некоторых проблем. Был разработан расширенный протокол SMTP, ESMTP. Клиенты, желающие использовать его, должны начинать сессию связи с посылки приветствия EHLO вместо HELO. Если команда не принимается сервером, значить, сервер поддерживает только обычный протокол SMTP и клиенту следует работать в обычном режиме. Если же EHLO принято, значить, установлена сессия ESMTP и возможна работа с новыми параметрами и командами.
- POPPost Office Protocol Version 3 — протокол почтового отделения, версия 3 — это сетевой протокол, используемый почтовым клиентом для получения сообщений электронной почты с сервера. Обычно используется в паре с протоколом SMTP. Предыдущие версии протокола (POP, POP2) устарели. Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP. По умолчанию использует TCP-порт 110. Существуют реализации POP3-серверов, поддерживающие TLS и SSL.
После установки соединения протокол РОР3 проходит три последовательных состояния
- Авторизация клиент проходит процедуру аутентификации
- Транзакция клиент получает информацию о состоянии почтового ящика, принимает и удаляет почту.
- Обновление сервер удаляет выбранные письма и закрывает соединение.
Не смотря на то, что протокол РОР3 действительно поддерживает возможность получения одного или нескольких писем и оставления их на сервере, большинство программ обработки электронной почты просто скачивают все письма и опустошают почтовый ящик на сервере.
Пример сессии
S: C: S: +OK POP3 server ready C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK mrose’s maildrop has 2 messages (320 octets) C: STAT S: +OK 2 320 C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S: . C: RETR 1 S: +OK 120 octets S: S: . C: DELE 1 S: +OK message 1 deleted C: RETR 2 S: +OK 200 octets S: S: . C: DELE 2 S: +OK message 2 deleted C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: S:
- Письма хранятся на сервере, а не на клиенте. Возможен доступ к одному и тому же почтовому ящику с разных клиентов. Поддерживается также одновременный доступ нескольких клиентов. В протоколе есть механизмы с помощью которых клиент может быть проинформирован об изменениях, сделанных другими клиентами.
- Поддержка нескольких почтовых ящиков (или папок). Клиент может создавать, удалять и переименовывать почтовые ящики на сервере, а также перемещать письма из одного почтового ящика в другой.
- Возможно создание общих папок, к которым могут иметь доступ несколько пользователей.
- Информация о состоянии писем хранится на сервере и доступна всем клиентам. Письма могут быть помечены как прочитанные, важные и т. п.
- Поддержка поиска на сервере. Нет необходимости скачивать с сервера множество сообщений для того чтобы найти одно нужное.
- Поддержка онлайн-работы. Клиент может поддерживать с сервером постоянное соединение, при этом сервер в реальном времени информирует клиента об изменениях в почтовых ящиках, в том числе о новых письмах.
- Предусмотрен механизм расширения возможностей протокола.
Текущая версия протокола имеет обозначение IMAP4rev1 (IMAP, версия 4, ревизия 1). Протокол поддерживает передачу пароля пользователя в зашифрованном виде. Кроме того, IMAP-трафик можно зашифровать с помощью SSL.
- Сводная таблица по почтовым клиентам и серверам для различных ОС.
- Наиболее известные WEB-клиенты работы с почтой.
Eudora Mail — клиент электронной почты, который появился еще на заре Интернета, когда электронная почта была чуть ли не единственным средством общения. Evolution — графическая клиентская программа управления электронной почтой, контактами и временем для платформы Linux. Разработана и поддерживается фирмой Novell. Содержит календарь, систему планирования временем, адресную книги, поддерживает все распространенные почтовые протоколы IMAP, POP, SMTP. Fidolook — клиент электронной почты, который является встраиваемым дополнением к Outlook Express из состава пакета Internet Explorer. Существенно расширяет такие возможности Outlook Express, как цитирование сообщений, шаблоны сообщений, настройка заголовков сообщения, возможности работы с папками новостей, импорт и экспорт сообщений. Foxmail! — бесплатная программа для работы с электронной почтой для ОС Windows. Разрабатывается китайской корпорацией TenCent. Поддерживает протоколы SMTP, POP3 и RSS. Основные возможности:- отправка писем без участия SMTP-сервера (компьютер пользователя выступает в роли SMTP-сервера);
- возможность установки пароля на аккаунт;
- настройка приёма почты с нескольких E-mail адресов в один аккаунт;
- сортировщик писем на основе фильтров;
- создание и редактирование шаблонов новых писем;
- работа с диспетчером писем (управление сообщениями на сервере);
- возможность шифрования сообщений;
- удобная адресная книга, интегрированная в интерфейс;
- RSS-агрегатор .
KMail — клиент электронной почты, распространённый в операционных системах семейства *nix. Поддерживает SMTP, POP3, IMAP, локальные почтовые ящики, а также существует поддержка, антивирусов, антиспама, пользовательских фильтров.
M2 — внутреннее название почтового и новостного клиента, встроенного в браузер Opera и официально называемого Opera Mail. Его интерфейс отличается от остальных почтовых клиентов с целью обеспечения лучшей интеграции с Opera, а также имеется фильтр спама, поддержка POP3 и IMAP, новостных групп, RSS и Atom новостных лент.
- работа с файловой системой (сохранение, добавление вложений файлов любых форматов, работа с адресной книгой, сохранение истории загрузок на диск в .txt, проигрывание заданной мелодии);
- возможность работы с кодировками и транслитом;
- просмотр html, wml, pda и xml-подобных страниц в виде текста без ссылок и изображений с возможностью настройки шрифта;
- огромное количество параметров и гибкая настройка;
- программа распространяется бесплатно.
- является полноценным Органайзером, предоставляющим функции календаря, планировщика задач, записной книжки и менеджера контактов;
- позволяет отслеживать работу с документами пакета Microsoft Office для автоматического составления дневника работы;
- может использоваться как отдельное приложение, так и выступать в роли клиента для почтового сервера Microsoft Exchange Server, что предоставляет дополнительные функции для совместной работы пользователей одной организации: общие почтовые ящики, папки задач, календари, конференции, планирование и резервирование времени общих встреч, согласование документов.
Mozilla Thunderbird — бесплатная, свободно распространяемая программа для работы с электронной почтой и группами новостей. Является составной частью проекта Mozilla. Поддерживает протоколы SMTP, POP3, IMAP, NNTP, RSS, работает в Windows, Mac OS X и Linux, причём набор возможностей и расположение элементов управления на всех платформах одинаковые.
Outlook Express — программа для работы с электронной почтой и группами новостей, которая поставляется в составе ОС Windows, начиная с Windows 95 OSR 2.5, а также вместе с браузером Internet Explorer, начиная с версии 4.0. Новая версия Outlook Express, включенная в состав Windows Vista вместе с Internet Explorer 7.0, носит название Windows Mail. Название Outlook Express предполагает, что эта программа является «облегчённой» версией Microsoft Outlook и, в отличие от Outlook Express, не имеет функций для работы с группами новостей.
The Bat! — условно-бесплатная программа для работы с электронной почтой для ОС Windows. Разрабатывается молдавской компаниией RitLabs. Поддерживает протоколы SMTP, POP3, IMAP, имеет довольно развитую систему фильтрации сообщений и поддерживает большое количество кириллических кодировок. Существуют две версии программы: Home и Professional. В версии Professional имеется возможность проверки орфографии, шифрации сообщений и биометрической аутентификации.
- Диалог между сторонами, целью которого является выбор алгоритма шифрования
- Обмен ключами на основе криптосистем с открытым ключом или аутентификация на основе сертификатов.
- Передача данных, шифруемых при помощи симметричных алгоритмов шифрования
- Для обмена ключами и проверки их подлинности применяются комбинации алгоритмов: RSA (асимметричный шифр), Diffie-Hellman (безопасный обмен ключами), DSA (алгоритм цифровой подписи) и алгоритмы технологии Fortezza.
- Для симметричного шифрования: RC2, RC4, IDEA, DES, Triple DES или AES;
- Для хэш-функций: MD5 или SHA.
SSL (англ. Secure Sockets Layer — протокол защищённых сокетов) — криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создаётся защищённое соединение между клиентом и сервером. SSL изначально разработан компанией Netscape Communications, в настоящее время принят IETF как стандарт. Поддерживается всеми популярными браузерами.
Использует шифрование с открытым ключом для подтверждения подлинности передатчика и получателя. Поддерживает надёжность передачи данных за счёт использования корректирующих кодов и безопасных хэш-функций.
SSL состоит из двух уровней. На нижнем уровне многоуровневого транспортного протокола (например, TCP) он является протоколом записи и используется для инкапсуляции (то есть формирования пакета) различных протоколов. Для каждого инкапсулированного протокола он обеспечивает условия, при которых сервер и клиент могут подтверждать друг другу свою подлинность, выполнять алгоритмы шифрования и производить обмен криптографическими ключами, прежде чем протокол прикладной программы начнёт передавать и получать данные.
Для доступа к страницам, защищённым протоколом SSL, в URL вместо обычного префикса (schema) http, как правило, применяется префикс https (порт 443), указывающий на то, что будет использоваться SSL соединение. Так как операции шифрования / расшифрования требуют много вычислительных ресурсов, чтобы снизить нагрузку на веб-серверы, используют аппаратные SSL-ускорители.
Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат.
Электронная цифровая подпись (ЭЦП)— реквизит электронного документа, предназначенный для удостоверения источника данных и защиты данного электронного документа от подделки.- Удостоверение источника документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
- Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится хэш, следовательно, подпись станет недействительной.
- Невозможность отказа от авторства. Так как создать корректную подпись можно лишь, зная закрытый ключ, а он известен только владельцу, то владелец не может отказаться от своей подписи под документом.
- Злоумышленник может попытаться подделать подпись для выбранного им документа.
- Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила.
- Злоумышленник может попытаться подделать подпись для хоть какого-нибудь документа.
- Злоумышленник, укравший закрытый ключ, может подписать любой документ от имени владельца ключа.
- Злоумышленник может обманом заставить владельца подписать какой-либо документ, например используя протокол слепой подписи.
- Злоумышленник может подменить открытый ключ владельца (см. управление ключами) на свой собственный, выдавая себя за него.
- для проверки подписи владельца (аутентификация)
- для шифрования посылаемых ему данных (конфиденциальность)
- Превентивные методы
Самый надёжный способ борьбы со спамом — не позволить спамерам узнать электронный адрес. Это трудная задача, но некоторые меры предосторожности можно предпринять.
К сожалению, даже такие суровые меры не дают полной гарантии того, что спамер не узнает электронный адрес. Методы сбора адресов включают использование вирусов с целью охоты за контакт-листами пользователей. Вирусы эксплуатируют изъяны в известных почтовых программах и отправляют адреса из контакт-листа злоумышленнику или самостоятельно отправляют по этим адресам копии нежелательных писем. - Автоматическая фильтрация
Существует программное обеспечение (ПО) для автоматического определения спама (т. н. фильтры). Оно может быть предназначено для конечных пользователей или для использования на серверах. Это ПО использует два основных подхода.
Первый заключается в том, что анализируется содержание письма и делается вывод, спам это или нет. Если письмо классифицировано как спам, оно может быть помечено, перемещено в другую папку или даже удалено. Такое ПО может работать как на сервере, так и на компьютере клиента. При таком подходе вы не видите отфильтрованного спама, но продолжаете полностью или частично нести издержки, связанные с его приемом, так как антиспамное ПО в любом случае получает каждое спамерское письмо (затрачивая ваши деньги), а только потом решает, показывать его или нет. С другой стороны, если ПО работает на сервере, вы не несёте издержек по копированию его на свой компьютер.
Второй подход заключается в том, чтобы, применяя различные методы, опознать отправителя как спамера, не заглядывая в текст письма. Это ПО может работать только на сервере, который непосредственно принимает письма. При таком подходе можно уменьшить издержки — деньги затрачиваются только на общение со спамерскими почтовыми программами (т. е. на отказы принимать письма) и обращения к другим серверам (если таковые нужны) при проверке. Выигрыш, однако, не такой большой, как можно было бы ожидать. Если получатель отказывается принять письмо, спамерская программа пытается обойти защиту и отправить его другим способом. Каждую такую попытку приходиться отражать отдельно, что увеличивает нагрузку на сервер.
Методы автоматической фильтрации
Программы автоматической фильтрации используют статистический анализ содержания письма для принятия решения, является ли оно спамом. Наибольшего успеха удалось достичь с помощью алгоритмов, основанных на теореме Байеса. Для работы этих методов требуется «обучение» фильтров, т. е. нужно использовать рассортированные вручную письма для выявления статистических особенностей нормальных писем и спама.Неавтоматическая фильтрация
Многие программы и почтовые сервисы в Паутине позволяют пользователю задавать собственные фильтры. Такие фильтры могут состоять из слов или, реже, регулярных выражений, в зависимости от наличия или отсутствия которых сообщение попадает или не попадает в мусорный ящик. Однако такая фильтрация трудоёмкая и негибкая, кроме того, требует от пользователя известной степени знакомства с компьютерами. С другой стороны, она позволяет эффективно отсеять часть спама, и пользователь точно знает, какие сообщения будут отсеяны и почему.Черные списки В черные списки заносятся IP-адреса компьютеров, о которых известно, что с них ведется рассылка спама. Также широко используются списки компьютеров, которые можно использовать для рассылки — «открытые релеи» и «открытые прокси», а также — списки «диалапов» — клиентских адресов, на которых не может быть почтовых серверов. Можно использовать локальный список или список, поддерживаемый кем-то еще. Благодаря простоте реализации, широкое распространение получили черные списки, запрос к которым осуществляется через службу DNS. Они получили название DNSBL (DNS Black List). В настоящее время этот метод не очень эффективен. Спамеры находят новые компьютеры для своих целей быстрее, чем их успевают заносить в черные списки. Кроме того, несколько компьютеров, отправляющих спам, могут скомпрометировать весь почтовый домен или подсеть, и тысячи законопослушных пользователей на неопределённое время будут лишены возможности отправлять почту серверам, использующим такой чёрный список.
Авторизация почтовых серверов Были предложены различные способы для подтверждения того, что компьютер, отправляющий письмо, действительно имеет на это право (Sender ID, SPF, Caller ID, Yahoo DomainKeys, MessageLevel[1]), но они пока не получили широкого распространения. Кроме того, эти технологии ограничивают некоторые распространённые виды функциональности почтовых серверов: становится невозможно автоматически перенаправлять корреспонденцию с одного почтового сервера на другой (SMTP Forwarding).
Среди провайдеров распространена политика, согласно которой клиентам разрешается устанавливать SMTP-соединения только с серверами провайдера. В этом случае становится невозможно использовать некоторые из механизмов авторизации.Серые списки Метод серых списков основан на том, что «поведение» программного обеспечения, предназначенного для рассылки спама отличается от поведения обычных почтовых серверов, а именно, спамерские программы не пытаются повторно отправить письмо при возникновении вре́менной ошибки, как того требует протокол SMTP. Точнее, пытаясь обойти защиту, при последующих попытках они используют другой релей, другой обратный адрес и т. п., поэтому это выглядят для принимающей стороны, как попытки отправки разных писем.
Протоколы Интернета и электронной почты
После обсуждения базовых протоколов мы можем подняться на более высокий уровень. Протоколы HTTP и FTP охватывают уровни 5—7 модели OSI.
FTP — File Transfer Protocol
FTP используется для копирования файлов с сервера и на сервер, а также для получения списка файлов и каталогов на сервере. FTP — это протокол прикладного уровня, базирующийся на TCP. Команды FTP включаются в блок данных TCP-сообщения.
Модель приложения с FTP-сервером и клиентом проиллюстрирована на следующем рисунке. Приложение-клиент представляет пользовательский интерфейс и создает FTP-запрос в соответствии с запросом пользователя и спецификацией FTP. FTP-команда посылается приложению-серверу через TCP/IP, и интерпретатор на сервере соответственно интерпретирует FTP-команду. В зависимости от FTP-команды в FTP-ответе клиенту возвращается с сервера список файлов или конкретный файл:
Протокол FTP имеет следующие характеристики:
- Надежная передача данных через TCP
- Анонимный доступ или аутентификация пользователя по имени и паролю
- Файлы отправляются в ASCII-коде в форме, поддерживаемой целевой платформой, или как неизмененные двоичные данные.
FTP-команды можно сгруппировать в следующие категории:
Команды контроля доступа
В FTP-командах контроля доступа указывается имя пользователя (USER) и пароль (PASS), установки могут изменяться (REIN), и соединение может быть закончено (QUIT).
Команды параметров передачи
FTP-передачу можно конфигурировать с помощью команд параметров передачи. Эти команды поддерживают изменение ASCII-кода на двоичный код, сжатие данных, изменение портов для отправки.
Команды FTP-сервиса
Копирование файлов с сервера (RETR), копирование файлов на сервер (STOR), удаление файлов (DELE), переименование файлов (RNTO), создание каталогов (MKD) и запрос списка файлов (LIST) — вот некоторые команды FTP-сервиса.
Протокол FTP определен в RFC 959.
FTP-клиенты
Чтобы понять суть протокола FTP, лучше всего поработать из командной строки с утилитой ftp, как показано на следующем рисунке. Программа ftp работает через приглашение ftp, позволяющее вводить команды. Эти команды отличаются от команд протокола FTP — вы можете увидеть их все, если введете команду ?. При введении команды open ftp.microsoft.com создается соединение с хостом ftp.microsoft.com.
Установка имени пользователя anonymous означает пользователя-гостя. Ответ 230 от сервера указывает, что соединение установлено и можно командой dir получить список файлов на сервере. Получив команду dir, программа ftp отправляет на сервер команду FTP LIST. Команда cd может применяться для смены директории на сервере, а команда get копирует файл клиенту, отправляя команду FTP RETR. Для закрытия соединения утилита ftp использует команду bye:
HTTP — Hypertext Transfer Protocol
HTTP — основной протокол, используемый Web-приложениями. Как и FTP, HTTP является надежным протоколом, и надежность его достигается благодаря использованию TCP. Как и FTP, HTTP также используется для передачи файлов через сеть. Но он в отличие от FTP обладает такими средствами, как кэширование, идентификация приложения-клиента, поддержка разных дополнений в формате MIME и т. д. Эти средства устанавливаются в заголовке HTTP.
Для демонстрации работы, выполняемой браузером Интернета, когда он запрашивает файлы из Web-сервера, мы можем имитировать браузер приложением telnet. Для запуска этого приложения введите telnet в диалоговом окне Run меню Start, и вы увидите приглашение Microsoft Telnet. Введите set local_echo (set localecho для Windows XP), чтобы введенные программы отображались локально. Если не устанавливать эту опцию, команды, которые мы отправляем на сервер, не будут отображаться приложением telnet.
Теперь можно соединиться с Web-cepвeром командой open. Команда open msdn.microsoft.com 80 создает TCP-соединение с портом 80 сервера на msdn.microsoft.com. Приложение telnet использует по умолчанию порт 23, следовательно, надо указать порт для HTTP-запроса. По умолчанию HTTP-сервисы предоставляются портом 80 Web-сервера.
Как только соединение инициировано, можно послать на Web-cepвep HTTP-запрос. Простой запрос состоит из строки запроса, которую нужно завершить двумя нажатиями на клавишу Enter (две последовательности CR-LF). Такая строка запроса может выглядеть, как: GET /default.asp HTTP/1.0. Сервер возвращает HTTP-ответ, содержащий информацию о статусе.
Как видно, элементарный HTTP-запрос состоит лишь из одной строки. Однако полный HTTP-запрос будет состоять из строки запроса с дополнительными заголовками и данными.
В строке запроса можно указывать такие HTTP-команды, как GET, HEAD и POST. И GET, и POST запрашивают данные от сервера. Команда GET включает параметры запроса в URL, а в команде POST параметры находятся в блоке данных. Команда HEAD означает, что мы просто хотим узнать, когда был изменен запрашиваемый файл, чтобы проверить, находится ли в кэше новейшая его версия.
За строкой запроса могут следовать общие заголовки, заголовки запроса и заголовок сущности. Информация, помещаемая в заголовки, позволяет клиенту сообщать серверу об используемом браузере и предпочтительных языках, отправлять файл cookie или запрашивать только изменившиеся файлы. В примере с telnet мы уже видели некоторую информацию из заголовков, возвращенную сервером: дату, версию сервера, длину содержания, тип содержания и признаки управления кэшем.
HTTPS — HTTP поверх SSL (Secure Socket Layer)
Когда требуется обменяться с Web-сервером конфиденциальной информацией, можно воспользоваться протоколом HTTPS. HTTPS — это расширение протокола HTTP, и поэтому к нему применимы все принципы, которые обсуждались в предыдущем разделе. Однако в его основе лежит другой механизм, поскольку HTTPS использует SSL, первоначально разработанный компанией Netscape. SSL располагается поверх TCP и защищает сетевой обмен, используя принцип открытого/секретного ключа для обмена секретными симметричными ключами и симметричный ключ для шифрования сообщений.
Для поддержки HTTPS Web-сервер должен установить сертификат, чтобы его можно было идентифицировать. По умолчанию для HTTPS-запросов используется порт 443.
SMTP — Simple Mail Transfer Protocol
SMTP — это протокол, предназначенный для отправки и получения сообщений электронной почты. Он может использоваться для пересылки электронной почты между клиентом и сервером, использующими один и тот же транспортный протокол, или для пересылки сообщений между серверами, использующими разные транспортные протоколы. SMTP имеет возможность пересылать сообщения через среду транспортной службы. Однако SMTP не позволяет читать сообщения с почтового сервера, для этого используются протоколы POP3 и IMAP.
Служба SMTP составляет часть установки Internet Information Server в Windows 2000 и Windows XP.
Стандарт протокола SMTP определен в RFC 821; формат сообщений SMTP определен в RFC 822.
POP3 — Post Office Protocol
Протокол POP3 предназначался для отсоединенной среды. В небольших конфигурациях непрактично поддерживать постоянное соединение с почтовым сервером, например в такой среде, где время соединения нужно оплачивать. При использовании POP3 клиент может обращаться к серверу и извлекать сообщения, которые хранит для него сервер. Когда сообщения считываются клиентом, они обычно (но необязательно) удаляются с сервера.
Windows .NET Server включает сервер POP3. Протокол POP3 определен в RFC 1081.
IMAP — Internet Message Access Protocol
Как и РОРЗ, протокол IMAP предназначен для доступа к почте на почтовом сервере. Аналогично клиентам POP3 клиент IMAP может работать в автономном режиме, в котором почта обрабатывается на локальной машине. По сравнению с клиентами POP3 клиенты IMAP обладают более широкими возможностями в оперативном режиме, например, они могут извлекать только заголовки или только основные части указанных почтовых сообщений, искать конкретные сообщения на сервере и устанавливать флаги, например флаг «ответ отправлен». По существу, IMAP позволяет клиенту обрабатывать удаленный почтовый ящик, как если бы он был локальным.
Протокол IMAP определен в RFC 1730.
NNTP — Network News Transfer Protocol
NNTP — это протокол прикладного уровня для передачи, ретрансляции и извлечения сообщений, являющихся частью обсуждений в группах новостей. Этот протокол обеспечивает приложения-клиенты доступом к серверу новостей для извлечения выбранных сообщений и поддерживает передачу сообщений между серверами.
Протокол NNTP определен в RFC 850, 977 и 1036.
POP3 или IMAP: в чем разница между почтовыми протоколами и какой лучше выбрать
Разбираем ключевые особенности популярных почтовых протоколов.
Эта инструкция — часть курса «Как работают сетевые протоколы».
Смотреть весь курс
Рассказываем про различия почтовых протоколов POP3 и IMAP: их устройство, преимущества и недостатки. Из статьи вы узнаете, на какие характеристики обращать внимание при выборе.
Типы протоколов почты в почтовых аккаунтах
POP3 (Post Office Protocol v.3) — протокол, используемый для получения сообщений с сервера электронной почты.
IMAP (Internet Message Access Protocol) — протокол, который используют для доступа к сообщениям, хранящимся на сервере электронной почты.
SMTP (Simple Mail Transfer Protocol) — текстовый протокол, используемый для отправки сообщений электронной почты между серверами. SMTP работает в архитектуре клиент-сервер. Клиент электронной почты отправителя, например, Microsoft Outlook или Apple Mail, использует SMTP для подключения к email-серверу и передачи сообщения на сервер получателя.
Почтовый протокол поддерживает аутентификацию и шифрование для обеспечения безопасной передачи сообщений. Стоит учитывать, что SMTP поддерживает только отправку электронной почты и не обеспечивает получение сообщений. Для получения email обычно используют POP3 и IMAP.
Предоставим SMTP-сервер бесплатно
Чтобы поучаствовать в бете, оставьте заявку через тикет-систему в панели управления.
Microsoft Exchange — популярный сервер электронной почты и совместной работы, который использует свой собственный протокол для связи между удаленными серверами и клиентами. Протокол Microsoft включает в себя синхронизацию электронной почты, календаря, контактов и задач. Exchange использует различные протоколы для связи, включая MAPI, RPC и HTTP.
Как работает протокол POP3
POP3 работает через стек TCP/IP и обычно использует порт 110 для незашифрованных соединений или порт 995 для зашифрованных соединений. Когда почтовый клиент настроен на использование POP3, он подключается к почтовому серверу и загружает все сообщения в папку входящих сообщений пользователя. Затем эти сообщения сохраняются на компьютере или устройстве пользователя и обычно удаляются с сервера электронной почты. Некоторые почтовые клиенты могут быть настроены так, чтобы оставлять копии сообщений на сервере.
Важно отметить, что POP3 работает только с получением электронной почты и не поддерживает отправку электронной почты. Для отправки электронной почты обычно используют SMTP.
Команды POP3
- USER — команда используется для определения имени пользователя для учетной записи электронной почты.
- PASS — команда для указания пароля учетной записи email.
- LIST — используется для получения списка сообщений электронной почты на сервере.
- RETR — команда используется для получения определенного сообщения электронной почты с сервера.
- DELE — используется для пометки определенного email-сообщения для удаления с сервера.
- QUIT — команда для завершения сеанса POP3.
Распространенные ответы POP3
- OK — ответ означает, что предыдущая команда была выполнена успешно.
- ERR — ответ указывает на то, что предыдущая команда не была успешной.
- Ответ на команду LIST предоставляет список, уникальные идентификаторы и размеры почтовых сообщений на сервере.
- Ответ на команду RETR предоставляет полный текст указанного email-сообщения.
- Ответ на команду DELE подтверждает, что указанное сообщение было помечено на удаление.
Преимущества POP3
POP3 предоставляет автономный доступ. Пользователи могут загружать свои email-сообщения и получать к ним доступ в автономном режиме, для этого не требуется активного подключения к интернету. Также пользователи могут контролировать объем памяти, используемой на сервере электронной почты, загружая и удаляя сообщения с сервера.
Высокая совместимость — еще одно преимущество POP3. Широко используемый протокол совместим с большинством почтовых клиентов и серверов. Некоторые из них могут поддерживать расширенные версии POP3, такие как Authenticated POP или Secure POP. Они обеспечивают шифрование и проверку целостности сообщений.
Недостатки POP3
POP3 не обеспечивает синхронизацию между почтовыми клиентами и серверами. После загрузки сообщения любые изменения, внесенные в него на почтовом сервере (например, удаление или пометка как прочитанное), не будут отражены на почтовом клиенте.
Поскольку сообщения загружаются и удаляются с сервера, пользователь может получить доступ к своим сообщениям только с того устройства, на которое оно загружено. К тому же некоторые почтовые серверы могут иметь ограничения на объем дискового пространства, доступного для каждого пользователя. Это может ограничить количество сообщений, которые можно загрузить с помощью POP3.
POP3 не предоставляет надежных средств защиты, таких как шифрование или двухфакторная аутентификация, что делает учетные записи электронной почты уязвимыми для взлома и других угроз безопасности. Но уровень безопасности могут повысить расширенные версии протокола.
Как устроен протокол IMAP
IMAP — протокол, используемый для доступа к email-сообщениям, хранящимся на сервере электронной почты. Протокол позволяет пользователям получать доступ к сообщениям электронной почты непосредственно на сервере электронной почты
IMAP работает путем поддержания постоянного соединения между клиентом и сервером. Когда клиент запрашивает доступ к электронному сообщению, сервер отправляет копию сообщения клиенту. Когда пользователь удаляет или перемещает сообщение на одном устройстве, сервер обновляет статус сообщения, чтобы все другие устройства, имеющие доступ к той же учетной записи электронной почты, отразили эти изменения.
IMAP обычно использует порт 143 для незашифрованных соединений или порт 993 для зашифрованных соединений.
- LOGIN — команда используется для аутентификации учетных данных пользователя.
- SELECT — команда для выбора почтового ящика для чтения или записи сообщений.
- FETCH — эту команду используют для получения содержимого определенного сообщения.
- STORE — используется для изменения состояния сообщения, например, пометить его как прочитанное или переместить в другую папку.
- EXPUNGE — команду используют для окончательного удаления всех сообщений, которые были помечены для удаления.
- LOGOUT — эта команда завершает сеанс IMAP.
Распространенные ответы IMAP
- OK — ответ означает, что предыдущая команда была выполнена успешно.
- NO — предыдущая команда не была успешной, но неудача не вызвана критической ошибкой.
- BAD — ответ указывает неудачу предыдущей команды, и ее не следует повторять.
- Ответ на команду SELECT предоставляет информацию о выбранном почтовом ящике, включая имя и количество сообщений.
- Ответ на команду FETCH предоставляет содержимое указанного сообщения.
- Ответ на команду STORE подтверждает, что указанное сообщение было изменено.
Причины выбрать IMAP
IMAP позволяет юзерам получать доступ к своим email-сообщениям с различных устройств, поскольку все сообщения хранятся на сервере электронной почты. Протокол поддерживает синхронизацию в режиме реального времени: изменения, внесенные в сообщение на одном устройстве, отражаются на всех устройствах, имеющих доступ к учетной записи.
IMAP позволяет создавать и управлять папками на сервере электронной почты, что облегчает организацию и поиск email-сообщений. Также протокол поддерживает расширенные возможности поиска, облегчая поиск определенных писем.
Недочеты IMAP
IMAP требует постоянного подключения к интернету, поскольку сообщения хранятся на сервере электронной почты и доступ к ним осуществляется в режиме реального времени. Поскольку все сообщения хранятся на сервере электронной почты, пользователи могут иметь ограниченный контроль над использованием пространства для хранения.
Хранение всех сообщений электронной почты на сервере может представлять риск для безопасности в случае взлома сервера.
Разница между POP3 и IMAP: как выбрать подходящий тип учетной записи?
Основное различие между учетными записями POP3 и IMAP заключается в способе хранения и доступа к сообщениям. POP3 загружает email-сообщения на компьютер или устройство пользователя, IMAP позволяет получать доступ к сообщениям непосредственно на сервере электронной почты. Отличие IMAP — в более высокой доступности, но, поскольку протокол поддерживает постоянное соединение с сервером, он может работать медленнее и требовать больше ресурсов, чем его конкурент.
Выбирая между POP3 и IMAP для своего почтового ящика, рассмотрите свои потребности и особенности использования.
Факторы, которые следует учитывать:
Использование устройств. Если для доступа к почте и письмам в основном вы используете одно устройство, POP3 может быть подходящим вариантом. Если необходим доступ к электронной почте с нескольких устройств, IMAP станет лучшим выбором.
Хранение. Если у вас ограниченное пространство для хранения данных на устройстве и вам не нужно сохранять копию каждого сообщения электронной почты, подойдет POP3. При необходимости хранить архив сообщений IMAP будет лучше.
Организация электронной почты. Создавая подпапки или вложенные почтовые ящики внутри почтового ящика, пользователи могут группировать связанные сообщения вместе, что облегчает их поиск и управление ими. Если нужно организовать и синхронизировать между устройствам папки и ярлыки, IMAP может быть лучшим выбором. При использовании POP3 может потребоваться вручную создавать и управлять папками на каждом устройстве.
Подключение к интернету. В случае ограниченного подключения к интернету или частой работы в автономном режиме, вам подойдет POP3, поскольку он позволяет получить доступ к ранее загруженным сообщениям без интернета. Для доступа к сообщениям IMAP требуется подключение к интернету.
Заключение
Завершим описание протоколов тем, что еще раз проговорим, чем отличается IMAP от POP3.
POP3 — более простой протокол, подходящий для пользователей, которым нужен доступ к сообщениям электронной почты только с одного устройства. IMAP обеспечивает более комплексную работу с email. C другой стороны, IMAP может быть медленнее, требовать больше ресурсов и постоянного подключения к интернету. Впрочем, с ростом доступности мобильного интернета IMAP становится все более популярным протоколом для доступа к сообщениям электронной почты.
Что такое SMTP-протокол и как он устроен?
IMAP, POP3, SMTP — что это?
В наше время мессенджеры заполонили рынок и стали отнимать популярность в электронной почты, но для делового общения все же электронная почта остается часто использованной.
Основа работы электронной почты лежит на взаємодействии специальных протоколов, которые отвечают за определенный этап обработки писем. Протоколы устанавливают условия, которые позволяют электронным устройствам функционировать друг с другом. Два устройства, поддерживающие один и тот же протокол, могут обмениваться и обрабатывать запросы, независимо от того, кто их производитель и какого типа они являются. Прокололи отвечающее за почту являются TCP/IP протоколами. Существует три базовых почтовых протокола SMTP, POP и IMAP.
Протоколы электронной почты — это наборы правил, предназначенных для организации обмена информацией между почтовыми клиентами и почтовыми серверами. Благодаря им мы можем отправлять и получать электронные письма с разных машин, сетей и операционных систем. Более того, эти почтовые протоколы позволяют получать доступ к электронной почте и управлять ею из различных почтовых программ и устройств. Каждый из них работает по-разному и предоставляет разные возможности для управления вашей учетной записью электронной почты. SMTP предназначен для отправки почты, в то время как другие протоколы (POP3/IMAP) используются для получения почты.
Что такое SMTP?
SMTP (Simple Mail Transfer Protocol) — это стандартный почтовый протокол, предназначенный для исключительно обмена электронной почтой. Агенты пересылки почты (MTA) и почтовые серверы используют простой протокол передачи почты для передачи сообщений между компьютерами.
Основной задачей SMTP протокола явлеятся пересылка сообщение с почтового клиента на почтовый сервер получателя и поддержка сопутствующих этому процессов. Почтовый клиент и SMTP-сервер взаимодействуют друг с другом через соединение, установленное через определенный порт электронной почты. Они обмениваются SMTP-командами, анализируют полученные ответы для дальнейшей обработки исходящих писем.
При отправке письма сначала идет подключение к SMTP-серверу и аутентификация адреса электронной почты получателя. После проверки отправителя SMTP-сервер отправляет письмо к SMTP-серверу получателя, тот в свою очередь проверяет корректность и доступность указанного почтового ящика. Если все верно письмо отправляется на IMAP/POP-сервер для подальшего получения. Благодаря протоколу Simple Mail Transfer Protocol сообщения могут отправляться с одной и той же учетной записи в разных почтовых приложениях.
Существует 4 порты для использования SMTP, каждый из них использует свой тип шифрования для отправки электронной почты:
- 25 — незашифрованный порт, часто блокируется провайдерами;
- 2525 — является альтернативой SMTP-порту 25 и может быть зашифрован через TLS;
- 587 — работает через TLS-соединение. Если почтовый сервер не поддерживает TLS, сообщение будет отправлено в виде обычного текста;
- 465 — работает через SSL-соединение, если сервер его не поддерживает, отправка будет прервана.
Что такое POP3?
POP3 — почтовый протокол, который позволяет принимать и хранить вашу электронную почту. POP3 представляет собой более новую версию протокола POP. Версия 3 является последней и наиболее широко используемой.
После получение письма почтовым сервером, как только вы откроете свой почтовый-клиент, он загрузит новую почту с сервера и сохранит ее локально на вашем компьютере. Это можно сделать только один раз, потому что после отключения от почтового-сервера не будет возможности повторно сохранить полученную почту на другом устройстве, так как после загрузки письмо сразу удаляется с сервера.
То есть если вы используете POP3, вы сможете использовать только одно устройство для доступа к почте и будет отсутствовать возможность чтения сообщений из разных мест. Поэтому протокол POP3 не подходят для использования юзерам, которым нужен доступ к почтовому ящику большим коллективом.
С плюсов POP3 можно выделить возможность просмотра электронной почты без необходимости подключения к Интернету. Также сам протокол является очень простым и удобным в настройке.
Работая с POP3 нужно уделить внимания резервным копиям, на случай если ваш компьютер выйдет из строя. чтобы не потерять всю свою почту. В тоже время нет необходимости следить за свободным дисковым пространством для почты на удаленном сервере, так как вся почта хранится локально.
POP3 работает через порты :
- 995 — зашифрованный пор через SSL/TLS
- 110 — незащищенный порт.
Что такое IMAP?
IMAP (Internet Message Access Protocol) — протокол электронной почты, используемый для управления и получения сообщений электронной почты с принимающего сервера. На данный момент используется четвертая версия протокола IMAP, или IMAP4. Протокол IMAP устанавливает соединение между почтовым клиентом и сервером. Затем он извлечет запрошенный контент вместе с его заголовками и сохраняет все на почтовом сервере. После клиент может начать работать с полученным письмом.
Плюсом протокола IMAP есть синхронизация почтовой учетной записи между разными девайсами. Если будет вноситься какие-либо изменения в почту по протоколу IMAP, оно будет видно и на других устройствах. IMAP работает более быстро чем POP3 за счет ненадобности загрузки почты на локальную машину.
Использование IMAP будет оптимальным решением если вам необходим доступ к почте с разных мест и вы не хотите ограничиваться одним девайсом как на протоколе POP. Но отсюда вытекает и другой нюанс, а именно размер занятого дискового пространства, особенно это важно если почта хранится на хостинге. Следует время от времени чистить ненужные старые письма, чтобы не превысить лимит своего тарифа. Также с IMAP. чтобы была возможность открывать и читать полученные письма должен быть стабильный интернет, так как пользователь будет выполнять подключение к почтовому серверу и с него уже просматривать содержимое письма.
IMAP работает через порты:
- 993 — зашифрованный пор через SSL/TLS
- 143 — незащищенный порт.