Протоколы почтовой связи анализ сравнение. Почтовые протоколы smtp, pop3 и imap. Что такое SMTP

Протокол SMTP

SMTP (англ. Simple Mail Transfer Protocol -- простой протокол передачи почты) -- это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

SMTP используется для отправки почты от пользователей к серверам и между серверами для дальнейшей пересылки к получателю. Для приёма почты почтовый клиент должен использовать протоколы POP3 или IMAP.

Данные передаются при помощи TCP, при этом обычно используется порт 25 или 587. При передаче сообщений между серверами обычно используется порт 25.

Чтобы доставить сообщение до адресата, необходимо переслать его почтовому серверу домена, в котором находится адресат. Для этого обычно используется запись типа MX (англ. Mail eXchange -- обмен почтой) системы DNS. Если MX запись отсутствует, то для тех же целей может быть использована запись типа A. Некоторые современные реализации SMTP-серверов (например, Exim ) для определения сервера, обслуживающего почту в домене адресата, также могут задействовать SRV-запись (RFC 2782).

Сервер SMTP -- это конечный автомат с внутренним состоянием. Клиент передает на сервер строку команда<пробел>параметры<перевод строки>. Сервер отвечает на каждую команду строкой, содержащей код ответа и текстовое сообщение, отделенное пробелом. Код ответа -- число от 100 до 999, представленное в виде строки, трактующийся следующим образом:

  • · 2ХХ -- команда успешно выполнена
  • · 3XX -- ожидаются дополнительные данные от клиента
  • · 4ХХ -- временная ошибка, клиент должен произвести следующую попытку через некоторое время
  • · 5ХХ -- неустранимая ошибка

Текстовая часть ответа носит справочный характер и предназначен для человека, а не программы.

Безопасность SMTP и спам

Изначально SMTP не поддерживал единой схемы авторизации. В результате этого спам стал практически неразрешимой проблемой, так как было невозможно определить, кто на самом деле является отправителем сообщения -- фактически можно отправить письмо от имени любого человека. В настоящее время производятся попытки решить эту проблему при помощи спецификаций SPF, Sender ID, Yahoo Domain Keys. Единой спецификации на настоящий момент не существует.

Протокол POP3

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

Рис. 10. Схема «Клиент-сервер по протоколу POP3»

Описание протокола РОРЗ

Рассмотрим представленную на Рис. 10. схему «Клиент-сервер по протоколу POP3». Конструкция протокола РОРЗ обеспечивает возможность пользователю обратиться к своему почтовому серверу и изъять накопившуюся для него почту. Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет. При этом он должен запустить специальный почтовый агент (UA), работающий по протоколу РОРЗ, и настроить его для работы со своим почтовым сервером. Итак, во главе модели POP находится отдельный персональный компьютер, работающий исключительно в качестве клиента почтовой системы (сервера). Подчеркнем также, что сообщения доставляются клиенту по протоколу POP, а посылаются по-прежнему при помощи SMTP. То есть на компьютере пользователя существуют два отдельных агента-интерфейса к почтовой системе - доставки (POP) и отправки (SMTP). Разработчики протокола РОРЗ называет такую ситуацию "раздельные агенты" (split UA). Концепция раздельных агентов кратко обсуждается в спецификации РОРЗ.

В протоколе РОРЗ оговорены три стадии процесса получения почты: авторизация, транзакция и обновление. После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи заканчивается. Далее перечислены команды протокола РОРЗ, обязательные для работающей в Интернет реализации минимальной конфигурации.

Команды протокола POP версии 3 (для минимальной конфигурации)

USER Идентифицирует пользователя с указанным именем

PASS Указывает пароль для пары клиент-сервер

QUIT Закрывает TCP-соединение

STAT Сервер возвращает количество сообщений в почтовом ящике плюс размер почтового ящика

LIST Сервер возвращает идентификаторы сообщений вместе с размерами сообщений (параметром команды может быть идентификатор сообщения)

RETR Извлекает сообщение из почтового ящика (требуется указывать аргумент-идентификатор сообщения)

DELE Отмечает сообщение для удаления (требуется указывать аргумент - идентификатор сообщения)

NOOP Сервер возвращает положительный ответ, но не совершает никаких действий

LAST Сервер возвращает наибольший номер сообщения из тех, к которым ранее уже обращались

RSET Отменяет удаление сообщения, отмеченного ранее командой DELE

В протоколе РОРЗ определено несколько команд, но на них дается только два ответа: +ОК (позитивный, аналогичен сообщению-подтверждению АСK) и -ERR (негативный, аналогичен сообщению "не подтверждено" NAK). Оба ответа подтверждают, что обращение к серверу произошло и что он вообще отвечает на команды. Как правило, за каждым ответом следует его содержательное словесное описание. В RFC 1225 есть образцы нескольких типичных сеансов РОРЗ. Сейчас мы рассмотрим несколько из них, что даст возможность уловить последовательность команд в обмене между сервером и клиентом.

После того как программа установила TCP-соединение с портом протокола РОРЗ (официальный номер 110), необходимо послать команду USER с именем пользователя в качестве параметра. Если ответ сервера будет +ОК, нужно послать команду PASS с паролем этого пользователя:

CLIENT: USER kcope ERVER: +ОК CLIENT: PASS secret SERVER: +ОК kcope"s maildrop has 2 messages (320 octets) (В почтовом ящике kcope есть 2 сообщения (320 байтов) ...)

Транзакции РОРЗ

Команда STAT возвращает количество сообщений и количество байтов в сообщениях:

SERVER: +ОК 2 320

Команда LIST (без параметра) возвращает список сообщений в почтовом ящике и их размеры:

Команда NOOP не возвращает никакой полезной информации, за исключением позитивного ответа сервера. Однако позитивный ответ означает, что сервер находится в соединении с клиентом и ждет запросов:

Следующие примеры показывают, как сервер POP3 выполняет действия. Например, команда RETR извлекает сообщение с указанным номером и помещает его в буфер местного UA:

CLIENT: RETR 1 SERVER: +OK 120 octets SERVER: (РОРЗ-сервер высылает сообщение целиком) SERVER: . . . . . .

Команда DELE отмечает сообщение, которое нужно удалить:

SERVER: +OK message 1 deleted ... (сообщение 1 удалено) CLIENT: DELE 2 SERVER: -ERR message 2 already deleted сообщение 2 уже удалено)

Команда RSET снимает метки удаления со всех отмеченных ранее сообщений:

(в почтовом ящике 2 сообщения (320 байтов))

Как и следовало ожидать, команда QUIT закрывает соединение с сервером:

CLIENT: QUIT SERVER: +OK dewey POP3 server signing off CLIENT: QUIT SERVER: +OK dewey POP3 server signing off (maildrop empty) CLIENT: QUIT SERVER: +OK dewey POP3 server signing off (2 messages left)

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

Протокол IMAP

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

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

Преимущества по сравнению с POP

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

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

SMTP (англ. Simple Mail Transfer Protocol - простой протокол передачи почты) - это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

SMTP впервые был описан в RFC 821 (1982 год); последнее обновление в RFC 5321 (2008) включает масштабируемое расширение - ESMTP (англ. Extended SMTP). В настоящее время под «протоколом SMTP», как правило, подразумевают и его расширения. Протокол SMTP предназначен для передачи исходящей почты с использованием порта TCP 25.

В то время, как электронные почтовые серверы и другие агенты пересылки сообщений используют SMTP для отправки и получения почтовых сообщений, работающие на пользовательском уровне клиентские почтовые приложения обычно используют SMTP только для отправки сообщений на почтовый сервер для ретрансляции. Для получения сообщений клиентские приложения обычно используют либо POP (англ. Post Office Protocol - протокол почтового отделения), либо IMAP (англ. Internet Message Access Protocol), либо проприетарные протоколы (такие как Microsoft Exchange и Lotus Notes/Domino) для доступа к учетной записи своего почтового ящика на сервере.

POP3

POP3 (англ. Post Office Protocol Version 3 - протокол почтового отделения, версия 3) - стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для получения почты с удаленного сервера по TCP/IP-соединению.

Стандартный порт РОP3 - 110.

POP и IMAP (Internet Message Access Protocol) - наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и серверы электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.

Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP.

IMAP

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

Базируется на транспортном протоколе TCP и использует порт 143.

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

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

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

Аббревиатура SMTP расшифровывается как Simple Mail Transfer Protocol или упрощенный протокол передачи почты и его основной задачей является отправка сообщений. Но, для нормальной работы с электронной почтой мы должны помимо отправления почты, еще её и получать! А эти задачи берут на себя протоколы POP3 (Post Office Protocol 3) или почтовый протокол версии 3 и IMAP (Interactive Mail Access Protocol) или протокол интерактивного доступа к электронной почте.

Так вот главной целью данного видео будет как раз разобраться, в чем различия именно между этими двумя протоколами, и какой лучше использовать в работе.

Для тестирования я буду использовать бесплатный почтовый клиент Thunderbird от компании Mozilla. При необходимости вы можете его скачать по ссылке, которую я дам в дополнительных материалах к данному видео на официальном сайте Центра Обучения IT. https://www.mozilla.org/ru/thunderbird/

Запустим почтовый клиент и добавим 2 почтовых ящика, которые я специально создал для тестирования протоколов POP3 () и IMAP (). Для подключения ящиков заходим в (Меню \ Настройки \ Параметры учетной записи \ Действия для учетной записи \ Добавить учетную запись почты \ Вводим имя \ Адрес электронной почты \ Пароль \ Продолжить)

Выдается сообщение «Thunderbird не удалось найти настройки для вашей учетной записи почты) по этому нам потребуется выполнить более тонкие настройки.

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

Имя сервера – если у вас почта на mail.ru, то скорее всего сможет правильно подставить имя сервера pop3.mail.ru, но так как у меня почта от хостера на котором зарегистрирован мой домен, то у меня имя сервера будет другое pop3.beget.com. А вообще, данные настройки вы можете найти на сайте почтового сервиса, на котором у вас зарегистрирован ящик и, как правило, это pop3. и доменное имя почтового сервиса.

Жмем «Перетестировать» и почтовый клиент успешно достучался до сервера и автоматически выставил нужные настройки для работы. Тут мы можем увидеть, что протокол POP3 работает на 110 порте, SMTP на 25. Жмем «Готово» и аналогичным образом настраиваем еще один почтовый ящик (), но в качестве протокола входящей почты укажем IMAP с портом 143.

Так в чем же различия между протоколом POP3 и IMAP?

Если мы зайдем в почтовый ящик test-imap в папку «Входящие» то у нас сразу появляются письма, которые находятся в данном почтовом ящике на сервере. Аналогично тому, если бы мы зашли непосредственно на сервер через веб-интерфейс. А в почтовом ящике test-pop3 ничего нет, так как работа через протокол POP3 идет по запросу, т.е. нужно дать команду «Получить почту».

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

Для того, чтобы более наглядно понять, как все это работает, сымитируем работу сотрудника с почтой:

Создадим папку «Клиенты» для возможности сортировать письма по разным группам;

Отправим с ящика test-pop3 3 тестовых письма на test-imap

В ящике test-imap: одно письмо переместим в папку «Клиенты»; на второе ответим; третье оставим не прочитанным.

В ящике test-pop3 ответим на полученное письмо и переместим его в папку «Клиенты»

Теперь посмотрим через веб-интерфейс, что у нас происходит на сервере с почтовым ящиком test-imap. Как вы видите, тут все тоже самое, как и в почтовом клиенте (есть все входящие письма и даже те, которые мы не успели прочитать, так же помечены, как не прочитанные; в папке отправленные, присутствуют письма которые мы отправляли; в папке Trash удаленные; и даже создалась папка Клиенты и там присутствует письмо, которое мы туда переместили). Т.е. все что мы делали через почтовый клиент Thunderbird про дублировалось на сервере.

А что же в ящике test-pop3? Только письма в папке входящие, которые приходили на почтовый сервер. Никаких писем в «Отправленных», в «Корзине» и нет папки «Клиенты». Даже письмо, которое мы перемещали в папку «Клиенты» так же осталось на месте. Все это говорит о том, что протокол POP3 работает только для получения почты, без какой-либо обратной связи.

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

Плюс, когда компьютер сломался, мы можем добавить учетную запись почты на другом компьютере и продолжать работать, как ни в чем не бывало, вся наработанная информация будет актуальна.

Лично я использую POP3, чтобы не занимать место на сервере, так как все равно работаю с личной почтой только с домашнего компьютера. А на случай выхода из строя жесткого диска у меня настроен зеркальный RAID и синхронизация в облако Acronis.

Кстати, если вам интересно, то могу записать видеоурок по подключению вашей корпоративной почты к веб-интерфейсу mail.ru или яндекс.почта. На самом деле это очень удобно, так как обычно пользователи привыкли к работе с почтой на этих сайтах и им сложно перейти на работу в почтовом клиенте или в другом веб-интерфейсе. А благодаря такой возможности, они смогут работать с корпоративной почтой в привычной среде.

В Интернете для доставки электронной почты машина-источник устанавливает 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!

S:250 domain name should be qualified

S:250 Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script sender accepted

S:250 Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script ok

S:550 Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script unknown user account

S:354 Enter mail, end with "." on a line by itself

S:250 769947 message accepted for delivery

S:221 mail.company.tld CommuniGate Pro SMTP closing connection

S: (закрывает соединение)

В результате такой сессии письмо будет доставлено адресату Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script , но не будет доставлено адресату Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script , потому что такого адреса не существует.

Некоторые команды SMTP

HELO {SP} {string}{CRLF}

Идентифицирует SMTP-сервер отправителя, открывает сеанс {SP} пробел

Завершает SMTP-сеанс.

MAIL {SP} FROM:{reverse-path} {CRLF}

Задает адрес отправителя.

RCPT {SP} TO:{forward-path} {CRLF}

Задает адрес получателя.

Указывает на начало сообщения. Для окончания сообщения указывается {CRLF}.

VRFY {SP} {string}{CRLF}

проверяет существование получателя.

EXPN {SP} {string}{CRLF}

пустая операция

сервер и клиент меняются ролями после ответа сервера 200 OK

сброс сессии в исходное состояние

информация о поддерживаемых командах

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

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

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 < Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script >

C: APOP mrose

S: <сервер передает сообщение 1>

S: +OK message 1 deleted

S: <сервер передает сообщение 2>

S: +OK message 2 deleted

S: +OK dewey POP3 server signing off (maildrop empty)

C: <закрывает соединение>

S: <продолжает ждать входящие соединения>

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

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

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

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

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

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

Текущая версия протокола имеет обозначение 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. Основные возможности:

  • o отправка писем без участия SMTP-сервера (компьютер пользователя выступает в роли SMTP-сервера);
  • o возможность установки пароля на аккаунт;
  • o настройка приёма почты с нескольких E-mail адресов в один аккаунт;
  • o сортировщик писем на основе фильтров;
  • o создание и редактирование шаблонов новых писем;
  • o работа с диспетчером писем (управление сообщениями на сервере);
  • o возможность шифрования сообщений;
  • o удобная адресная книга, интегрированная в интерфейс;
  • o RSS-агрегатор.

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

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

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

  • o работа с файловой системой (сохранение, добавление вложений файлов любых форматов, работа с адресной книгой, сохранение истории загрузок на диск в.txt, проигрывание заданной мелодии);
  • o возможность работы с кодировками и транслитом;
  • o просмотр html, wml, pda и xml-подобных страниц в виде текста без ссылок и изображений с возможностью настройки шрифта;
  • o огромное количество параметров и гибкая настройка;
  • o программа распространяется бесплатно.

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

  • o является полноценным Органайзером, предоставляющим функции календаря, планировщика задач, записной книжки и менеджера контактов;
  • o позволяет отслеживать работу с документами пакета Microsoft Office для автоматического составления дневника работы;
  • o может использоваться как отдельное приложение, так и выступать в роли клиента для почтового сервера 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 имеется возможность проверки орфографии, шифрации сообщений и биометрической аутентификации.

6. Настройки безопасности в почтовых системах: 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 включает в себя три основных фазы:

  • o Диалог между сторонами, целью которого является выбор алгоритма шифрования
  • o Обмен ключами на основе криптосистем с открытым ключом или аутентификация на основе сертификатов.
  • o Передача данных, шифруемых при помощи симметричных алгоритмов шифрования

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

  • o Для обмена ключами и проверки их подлинности применяются комбинации алгоритмов: RSA (асимметричный шифр), Diffie-Hellman (безопасный обмен ключами), DSA (алгоритм цифровой подписи) и алгоритмы технологии Fortezza.
  • o Для симметричного шифрования: RC2, RC4, IDEA, DES, Triple DES или AES;
  • o Для хэш-функций: MD5 или SHA.

SSL (англ. Secure Sockets Layer -- протокол защищённых сокетов) -- криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создаётся защищённое соединение между клиентом и сервером. SSL изначально разработан компанией Netscape Communications, в настоящее время принят IETF как стандарт. Поддерживается всеми популярными браузерами.

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

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

Для доступа к страницам, защищённым протоколом SSL, в URL вместо обычного префикса (schema) http, как правило, применяется префикс https (порт 443), указывающий на то, что будет использоваться SSL соединение. Так как операции шифрования / расшифрования требуют много вычислительных ресурсов, чтобы снизить нагрузку на веб-серверы, используют аппаратные SSL-ускорители.

Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат.

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

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

  • o Удостоверение источника документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
  • o Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится хэш, следовательно, подпись станет недействительной.
  • o Невозможность отказа от авторства. Так как создать корректную подпись можно лишь, зная закрытый ключ, а он известен только владельцу, то владелец не может отказаться от своей подписи под документом.

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

  • o Злоумышленник может попытаться подделать подпись для выбранного им документа.
  • o Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила.
  • o Злоумышленник может попытаться подделать подпись для хоть какого-нибудь документа.

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

Тем не менее, возможны ещё такие угрозы системам цифровой подписи:

  • o Злоумышленник, укравший закрытый ключ, может подписать любой документ от имени владельца ключа.
  • o Злоумышленник может обманом заставить владельца подписать какой-либо документ, например используя протокол слепой подписи.
  • o Злоумышленник может подменить открытый ключ владельца (см. управление ключами) на свой собственный, выдавая себя за него.

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

Открытый ключ может быть использован для организации защищённого канала связи с владельцем двумя способами:

  • o для проверки подписи владельца (аутентификация)
  • o для шифрования посылаемых ему данных (конфиденциальность)

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

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

Способы борьбы со спамом

  • o Превентивные методы
  • o Самый надёжный способ борьбы со спамом -- не позволить спамерам узнать электронный адрес. Это трудная задача, но некоторые меры предосторожности можно предпринять.
  • o К сожалению, даже такие суровые меры не дают полной гарантии того, что спамер не узнает электронный адрес. Методы сбора адресов включают использование вирусов с целью охоты за контакт-листами пользователей. Вирусы эксплуатируют изъяны в известных почтовых программах и отправляют адреса из контакт-листа злоумышленнику или самостоятельно отправляют по этим адресам копии нежелательных писем.
  • o Автоматическая фильтрация
  • o Существует программное обеспечение (ПО) для автоматического определения спама (т. н. фильтры). Оно может быть предназначено для конечных пользователей или для использования на серверах. Это ПО использует два основных подхода.
  • o Первый заключается в том, что анализируется содержание письма и делается вывод, спам это или нет. Если письмо классифицировано как спам, оно может быть помечено, перемещено в другую папку или даже удалено. Такое ПО может работать как на сервере, так и на компьютере клиента. При таком подходе вы не видите отфильтрованного спама, но продолжаете полностью или частично нести издержки, связанные с его приемом, так как антиспамное ПО в любом случае получает каждое спамерское письмо (затрачивая ваши деньги), а только потом решает, показывать его или нет. С другой стороны, если ПО работает на сервере, вы не несёте издержек по копированию его на свой компьютер.
  • o Второй подход заключается в том, чтобы, применяя различные методы, опознать отправителя как спамера, не заглядывая в текст письма. Это ПО может работать только на сервере, который непосредственно принимает письма. При таком подходе можно уменьшить издержки -- деньги затрачиваются только на общение со спамерскими почтовыми программами (т. е. на отказы принимать письма) и обращения к другим серверам (если таковые нужны) при проверке. Выигрыш, однако, не такой большой, как можно было бы ожидать. Если получатель отказывается принять письмо, спамерская программа пытается обойти защиту и отправить его другим способом. Каждую такую попытку приходиться отражать отдельно, что увеличивает нагрузку на сервер.

Методы автоматической фильтрации

Программы автоматической фильтрации используют статистический анализ содержания письма для принятия решения, является ли оно спамом. Наибольшего успеха удалось достичь с помощью алгоритмов, основанных на теореме Байеса. Для работы этих методов требуется «обучение» фильтров, т. е. нужно использовать рассортированные вручную письма для выявления статистических особенностей нормальных писем и спама.

Неавтоматическая фильтрация

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

Черные списки. В черные списки заносятся IP-адреса компьютеров, о которых известно, что с них ведется рассылка спама. Также широко используются списки компьютеров, которые можно использовать для рассылки -- «открытые релеи» и «открытые прокси», а также -- списки «диалапов» -- клиентских адресов, на которых не может быть почтовых серверов. Можно использовать локальный список или список, поддерживаемый кем-то еще. Благодаря простоте реализации, широкое распространение получили черные списки, запрос к которым осуществляется через службу DNS. Они получили название DNSBL (DNS Black List). В настоящее время этот метод не очень эффективен. Спамеры находят новые компьютеры для своих целей быстрее, чем их успевают заносить в черные списки. Кроме того, несколько компьютеров, отправляющих спам, могут скомпрометировать весь почтовый домен или подсеть, и тысячи законопослушных пользователей на неопределённое время будут лишены возможности отправлять почту серверам, использующим такой чёрный список.

Авторизация почтовых серверов. Были предложены различные способы для подтверждения того, что компьютер, отправляющий письмо, действительно имеет на это право (Sender ID, SPF, Caller ID, Yahoo DomainKeys, MessageLevel), но они пока не получили широкого распространения. Кроме того, эти технологии ограничивают некоторые распространённые виды функциональности почтовых серверов: становится невозможно автоматически перенаправлять корреспонденцию с одного почтового сервера на другой (SMTP Forwarding).

Среди провайдеров распространена политика, согласно которой клиентам разрешается устанавливать SMTP-соединения только с серверами провайдера. В этом случае становится невозможно использовать некоторые из механизмов авторизации.

Серые списки Метод серых списков основан на том, что «поведение» программного обеспечения, предназначенного для рассылки спама отличается от поведения обычных почтовых серверов, а именно, спамерские программы не пытаются повторно отправить письмо при возникновении временной ошибки, как того требует протокол SMTP. Точнее, пытаясь обойти защиту, при последующих попытках они используют другой релей, другой обратный адрес и т. п., поэтому это выглядят для принимающей стороны, как попытки отправки разных писем.