Список тем

Протоколы работы с почтой: POP3, IMAP4, SMTP.

  1. Обзор почтовых протоколов.
  2. Схема работы почтовых протоколов стека TCP/IP
    1. SMTP
    2. POP
    3. IMAP
  3. Сводная таблица по почтовым клиентам и серверам для различных ОС
  4. Наиболее известные WEB-клиенты работы с почтой.
  5. Настройки безопасности в почтовых системах: TLS, SSL, цифровая подпись, сертификат. Понятие СПАМ.
  6. Литература
  1. Обзор почтовых протоколов.

    Электронная почта существуют уже более двух десятилетий: до 1990 года она использовалась преимущественно в научных организациях, в 90-е - получила широкую известность и стала использоваться повсеместно. По самым скромным оценкам в мире более 50 миллионов человек пользуются услугами электронной почты. В целом же трафик электронной почты занимает только 3.7% всего сетевого. Как и любой форме коммуникаций, электронной почте присущ определенный стиль и набор соглашений. В частности, общение по электронной почте носит неформальный и демократичный характер.

    Электронная почта даёт возможность посылать и получать сообщения, отвечать на письма корреспондентов автоматически, используя их адреса, рассылать копии письма сразу нескольким получателям, переправлять полученное письмо по другому адресу, использовать вместо адресов (числовых или доменных имен) логические имена, создавать несколько подразделов почтового ящика для разного рода корреспонденции, включать в письма текстовые файлы, пользоваться системой "отражателей почты" для ведения дискуссий с группой ваших корреспондентов и т.д.

    Развитие технологии Internet привело к появлению современных протоколов для обмена сообщениями, которые предоставляют большие возможности для обработки писем, разнообразные сервисы и удобство в работе. Так, например, протокол SMTP, работающий по принципу клиент-сервер, предназначен для отправки сообщений с компьютера к адресату. Обычно доступ к серверу SMTP не защищается паролем, так что можно использовать для отправки писем любой известный сервер в сети. В отличие от серверов для отправки писем, доступ к серверам для хранения сообщений защищается паролем. Поэтому необходимо использовать сервер или службу, в которой существует учётная запись. Эти серверы работают по протоколам POP и IMAP, которые различаются способом хранения писем.

    В соответствии с протоколом POP3 поступающие на определенный адрес сообщения хранятся на сервере до того момента, пока они не будут в течение очередного сеанса загружены на компьютер. После загрузки сообщений, можно отключиться от сети и приступить к чтению почты. Таким образом, использование почты по протоколу POP3 является наиболее быстрым и удобным в использовании.

    Протокол IMAP удобен тем людям, которые пользуются постоянным подключением к сети. Сообщения, поступившие на адрес, также хранятся на сервере, но, в отличие от POP3, при проверке почты сначала будут загружены только заголовки сообщений. Само письмо можно будет прочитать после выбора заголовка сообщения (оно загрузиться с сервера). Ясно, что при коммутируемом соединении работа с почтой по этому протоколу приводит к неоправданным потерям времени.

    Существует несколько протоколов приема передачи почты между многопользовательскими системами.

    Краткое описание некоторых из них:
    SMTP (Simple Mail Transfer Protocol) - это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP, причем передача должна быть обязательно инициирована самой передающей системой.
    POP, POP2, POP3 (Post Office Protocol) - три достаточно простых невзаимозаменяемых протокола, pазpаботанные для доставки почты пользователю с центрального mail-сеpвеpа, ее удаления с него и для идентификации пользователя по имени/паролю. POP включает в себя SMTP, который используется для передачи почты, исходящей от пользователя. Почтовые сообщения могут быть получены в виде заголовков, без получения письма целиком.
    IMAP2, IMAP2bis, IMAP3, IMAP4, IMAP4rev1 (Internet Message Access Protocol).

    ACAP (Application Configuration Access Protocol) - протокол, pазpаботанный для работы с IMAP4; добавляет возможность поисковой подписки и подписки на доски объявлений, почтовые ящики и используется для поиска адресных книг.

    DMSP (или PCMAIL) - протокол для приема/отправки почты, особенность которого заключается в том, что пользователь может иметь более одной рабочей станции в своем пользовании. Рабочая станция содержит статусную информацию о почте, диpектоpию, через которую происходит обмен, которая при подключении к серверу обновляется до текущего состояния на mail-сеpвеpе.

    MIME - стандарт, определяющий механизмы для отправки разного рода информации с помощью электронной почты, включая текст на языках, отличных от английского, для которых используются символьные кодировки, отличные от ASCII, а также 8-битный бинарный контент, такой как картинки, музыка, фильмы и программы.

  2. Схема работы почтовых протоколов стека TCP/IP
    1. 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 {SP} {string}{CRLF} Идентифицирует SMTP-сервер отправителя, открывает сеанс {SP} пробел
      QUIT{CRLF} Завершает SMTP-сеанс.
      MAIL {SP} FROM:{reverse-path} {CRLF} Задает адрес отправителя.
      RCPT {SP} TO:{forward-path} {CRLF} Задает адрес получателя.
      DATA {CRLF} Указывает на начало сообщения. Для окончания сообщения указывается {CRLF}.
      VRFY {SP} {string}{CRLF} проверяет существование получателя.
      EXPN {SP} {string}{CRLF} показывает список адресов для списка рассылки.
      NOOP{CRLF} пустая операция
      TURN{CRLF} сервер и клиент меняются ролями после ответа сервера 200 OK
      RSET{CRLF} сброс сессии в исходное состояние
      HELP{CRLF} информация о поддерживаемых командах

      Из-за проблем со спамом, почти все современные сервера игнорируют команды VRFY и EXPN, как раскрывающие информацию о пользователе.

      Для решения некоторых проблем. Был разработан расширенный протокол SMTP, ESMTP. Клиенты, желающие использовать его, должны начинать сессию связи с посылки приветствия EHLO вместо HELO. Если команда не принимается сервером, значить, сервер поддерживает только обычный протокол SMTP и клиенту следует работать в обычном режиме. Если же EHLO принято, значить, установлена сессия ESMTP и возможна работа с новыми параметрами и командами.

    2. POP

      Post Office Protocol Version 3 - протокол почтового отделения, версия 3 - это сетевой протокол, используемый почтовым клиентом для получения сообщений электронной почты с сервера. Обычно используется в паре с протоколом SMTP.

      Предыдущие версии протокола (POP, POP2) устарели. Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP. По умолчанию использует TCP-порт 110. Существуют реализации POP3-серверов, поддерживающие TLS и SSL.

      После установки соединения протокол РОР3 проходит три последовательных состояния

      1. Авторизация клиент проходит процедуру аутентификации
      2. Транзакция клиент получает информацию о состоянии почтового ящика, принимает и удаляет почту.
      3. Обновление сервер удаляет выбранные письма и закрывает соединение.

      Не смотря на то, что протокол РОР3 действительно поддерживает возможность получения одного или нескольких писем и оставления их на сервере, большинство программ обработки электронной почты просто скачивают все письма и опустошают почтовый ящик на сервере.

      Пример сессии

      	S: <Сервер ожидает входящих соединений на порту 110>
      	C: <подключается к серверу>
      	S:    +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
      	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:    <сервер передает сообщение 1>
      	S:    .
      	C:    DELE 1
      	S:    +OK message 1 deleted
      	C:    RETR 2
      	S:    +OK 200 octets
      	S:    <сервер передает сообщение 2>
      	S:    .
      	C:    DELE 2
      	S:    +OK message 2 deleted
      	C:    QUIT
      	S:    +OK dewey POP3 server signing off (maildrop empty)
      	C:  <закрывает соединение>
      	S:  <продолждает ждать входящие соединения>
      
      	
      	

    3. IMAP

      Пользователю, имеющему одну учетную запись у одного провайдера и всегда соединяющегося с провайдером с одной и той же машины, вполне достаточно протокола РОР3. Этот протокол используется повсеместно благодаря его простоте и надежности. Но у многих пользователей есть одна учетная запись в учебном заведении или на работе, но они хотят иметь к ней доступ и из дома, и с места работы (учебы), и во время командировки те из разных мест. Хотя протокол РОР3 и позволяет разрешить такую ситуацию. Но проблема в том что при таком использовании электронной почты вся корреспонденция пользователя очень быстро распространится по случайным машинам, с которых он получал доступ в Интернет, и некоторые из этих компьютеров могут вообще не принадлежать пользователь.

      Это неудобство привело к созданию альтернативного протокола для получения почты, IMAP.

      IMAP (англ. Internet Message Access Protocol) - интернет-протокол прикладного уровня для доступа к электронной почте.

      IMAP предоставляет пользователю богатые возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без необходимости постоянной пересылки с сервера и обратно файлов с полным содержанием писем.

      IMAP был разработан для замены более простого протокола POP3 и имеет следующие преимущества по сравнению с последним:

      1. Письма хранятся на сервере, а не на клиенте. Возможен доступ к одному и тому же почтовому ящику с разных клиентов. Поддерживается также одновременный доступ нескольких клиентов. В протоколе есть механизмы с помощью которых клиент может быть проинформирован об изменениях, сделанных другими клиентами.
      2. Поддержка нескольких почтовых ящиков (или папок). Клиент может создавать, удалять и переименовывать почтовые ящики на сервере, а также перемещать письма из одного почтового ящика в другой.
      3. Возможно создание общих папок, к которым могут иметь доступ несколько пользователей.
      4. Информация о состоянии писем хранится на сервере и доступна всем клиентам. Письма могут быть помечены как прочитанные, важные и т. п.
      5. Поддержка поиска на сервере. Нет необходимости скачивать с сервера множество сообщений для того чтобы найти одно нужное.
      6. Поддержка онлайн-работы. Клиент может поддерживать с сервером постоянное соединение, при этом сервер в реальном времени информирует клиента об изменениях в почтовых ящиках, в том числе о новых письмах.
      7. Предусмотрен механизм расширения возможностей протокола.

      Текущая версия протокола имеет обозначение IMAP4rev1 (IMAP, версия 4, ревизия 1). Протокол поддерживает передачу пароля пользователя в зашифрованном виде. Кроме того, IMAP-трафик можно зашифровать с помощью SSL.

  3. Сводная таблица по почтовым клиентам и серверам для различных ОС.
  4. Наиболее известные WEB-клиенты работы с почтой.

    Eudora Mail - клиент электронной почты, который появился еще на заре Интернета, когда электронная почта была чуть ли не единственным средством общения.

    Evolution - графическая клиентская программа управления электронной почтой, контактами и временем для платформы Linux. Разработана и поддерживается фирмой Novell. Содержит календарь, систему планирования временем, адресную книги, поддерживает все распространенные почтовые протоколы IMAP, POP, SMTP.

    Fidolook - клиент электронной почты, который является встраиваемым дополнением к Outlook Express из состава пакета Internet Explorer. Существенно расширяет такие возможности Outlook Express, как цитирование сообщений, шаблоны сообщений, настройка заголовков сообщения, возможности работы с папками новостей, импорт и экспорт сообщений.

    Foxmail! - бесплатная программа для работы с электронной почтой для ОС Windows. Разрабатывается китайской корпорацией TenCent. Поддерживает протоколы SMTP, POP3 и RSS. Основные возможности:

    KMail - клиент электронной почты, распространённый в операционных системах семейства *nix. Поддерживает SMTP, POP3, IMAP, локальные почтовые ящики, а также существует поддержка, антивирусов, антиспама, пользовательских фильтров.

    M2 - внутреннее название почтового и новостного клиента, встроенного в браузер Opera и официально называемого Opera Mail. Его интерфейс отличается от остальных почтовых клиентов с целью обеспечения лучшей интеграции с Opera, а также имеется фильтр спама, поддержка POP3 и IMAP, новостных групп, RSS и Atom новостных лент.

    MailMan - почтовый клиент для мобильных устройств и телефонов, является java приложением. Основные возможности:

    Microsoft Outlook - компьютерная программа-органайзер с функциями почтового клиента, входящая в пакет офисных программ Microsoft Office. Основные возможности:

    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 имеется возможность проверки орфографии, шифрации сообщений и биометрической аутентификации.

  5. Настройки безопасности в почтовых системах: TLS, SSL, цифровая подпись, сертификат. Понятие СПАМ.
    TLS ( англ. Transport Layer Security) — криптографический протокол, обеспечивающий безопасную передачу данных между пользователями в сети Интернет.
    TLS-протокол основан на Netscape SSL-протоколе версии 3.0 и состоит из двух частей — TLS Record Protocol и TLS Handshake Protocol. Различие между SSL 3.0 и TLS 1.0 незначительные, поэтому далее в тексте термин «SSL» будет относиться к ним обоим.Большинство современных браузеров поддерживает данный протокол.TLS Working Group, основанная в 1996 году, продолжает работать над протоколом.
    SSL, используя криптографию, предоставляет возможности аутентификации и безопасной передачи данных через Интернет. Часто происходит лишь аутентификация сервера, в то время как клиент остается неаутентифицированным. Для взаимной аутентификации каждая из сторон должна поддерживать инфраструктуру открытого ключа (PKI), которая позволяет защитить клиент-серверные приложения от перехвата сообщений, редактирования существующих сообщений и создания поддельных.
    SSL включает в себя три основных фазы:

    В первой фазе клиент и сервер обсуждают выбор криптографического алгоритма для дальнейшего использования. В данной версии протокола доступны следующие алгоритмы:

    SSL (англ. Secure Sockets Layer — протокол защищённых сокетов) — криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создаётся защищённое соединение между клиентом и сервером. SSL изначально разработан компанией Netscape Communications, в настоящее время принят IETF как стандарт. Поддерживается всеми популярными браузерами.
    Использует шифрование с открытым ключом для подтверждения подлинности передатчика и получателя. Поддерживает надёжность передачи данных за счёт использования корректирующих кодов и безопасных хэш-функций.
    SSL состоит из двух уровней. На нижнем уровне многоуровневого транспортного протокола (например, TCP) он является протоколом записи и используется для инкапсуляции (то есть формирования пакета) различных протоколов. Для каждого инкапсулированного протокола он обеспечивает условия, при которых сервер и клиент могут подтверждать друг другу свою подлинность, выполнять алгоритмы шифрования и производить обмен криптографическими ключами, прежде чем протокол прикладной программы начнёт передавать и получать данные.
    Для доступа к страницам, защищённым протоколом SSL, в URL вместо обычного префикса (schema) http, как правило, применяется префикс https (порт 443), указывающий на то, что будет использоваться SSL соединение. Так как операции шифрования / расшифрования требуют много вычислительных ресурсов, чтобы снизить нагрузку на веб-серверы, используют аппаратные SSL-ускорители.
    Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат.
    Электронная цифровая подпись (ЭЦП)— реквизит электронного документа, предназначенный для удостоверения источника данных и защиты данного электронного документа от подделки.

    Цифровая подпись обеспечивает:

    Возможны следующие угрозы цифровой подписи:

    При использовании надёжной хэш-функции, вычислительно сложно создать поддельный документ с таким же хэшем, как у подлинного. Однако, эти угрозы могут реализоваться из-за слабостей конкретных алгоритмов хэширования, подписи, или ошибок в их реализациях.
    Тем не менее, возможны ещё такие угрозы системам цифровой подписи:

    Сертификат (сертификат открытого ключа, сертификат ЭЦП) — цифровой или бумажный документ, подтверждающий соответствие между открытым ключом и информацией, идентифицирующей владельца ключа. Содержит информацию о владельце ключа, сведения об открытом ключе, его назначении и области применения, название центра сертификации и т. д.
    Открытый ключ может быть использован для организации защищённого канала связи с владельцем двумя способами:


    Существует две модели организации инфраструктуры сертификатов: централизованная (PKI) и децентрализованная (PGP). В централизованной модели существуют корневые центры сертификации, подписи которых обязан доверять каждый пользователь. В децентрализованной модели каждый пользователь самостоятельно выбирает, каким сертификатам он доверяет и в какой степени.

    Спам (англ. spam) — сообщения, массово рассылаемые людям, не выразившим желание их получать. В первую очередь термин «спам» относится к электронным письмам.
    Способы борьбы со спамом

  6. Литература
    1. Ю.А. Семенов, Почтовый протокол POP3
    2. Ю.А. Семенов, Протокол Интернет для работы с сообщениями IMAP
    3. Ю.А. Семенов, Протокол электронной почты SMTP
    4. free encyclopedia Wikipedia
    5. Путеводитель по брайзерам

      Сайт управляется системой uCoz


      Список тем