Тема 20. Электронная почта (Протокол smtp, pop3, imap, mime, Серверы почты и почтовые клиенты. Схема передачи/приема писем. Работа с почтой в режимах online, offline)

 

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

 

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

 

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

 

Широкое распространение SMTP получил в начале 1980-х годов. До него использовался протокол UUCP, который требовал от отправителя знания полного маршрута до получателя и явного указания этого маршрута в адресе получателя, либо наличия прямого коммутируемого или постоянного соединения между компьютерами отправителя и получателя.

 

Sendmail был одним из первых (если не первым) агентом отправки сообщений, который начал работать с SMTP. В настоящее время протокол SMTP является стандартным для электронной почты и его используют все клиенты и серверы.

 

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

 

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

2ХХ — команда успешно выполнена

3XX — ожидаются дополнительные данные от клиента

4ХХ — временная ошибка, клиент должен произвести следующую попытку через некоторое время

5ХХ — неустранимая ошибка

 

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

 

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

 

Предыдущие версии протокола (POP, POP2) устарели.

 

Стандарт протокола POP3 определён в RFC 1939. Расширения и методы авторизации определены в RFC 2195, RFC 2449, RFC 1734, RFC 2222, RFC 3206, RFC 2595.

 

Существуют реализации POP3-серверов, поддерживающие TLS и SSL.

 

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

 

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

 

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

 

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

 

Почто́вая програ́мма (клиент электронной почты, почтовый клиент, мейл-клиент, мейлер) — программное обеспечение, устанавливаемое на компьютере пользователя, предназначенное для получения, написания, отправки и хранения сообщений электронной почты одного или нескольких пользователей (в случае, например, нескольких учётных записей на одном компьютере).

 

Большие почтовые программы, т. н. «всё в одной», такие как Mozilla Thunderbird, The Bat! и Microsoft Outlook, сегодня комбинируют работу MSA, MDA и MRA в одном приложении. Более простые почтовые агенты (англ. mail user agent, MUA), например Mutt, также являются почтовыми программами.

 

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

 

Клиент электронной почты принимает почту с одного или нескольких почтовых серверов, часто это тот же самый сервер, который служит для отправки. Приём почты обычно осуществляется по протоколам POP или IMAP.

 

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

 

Почтовый сервер, сервер электронной почты, мейл-сервер — в системе пересылки электронной почты так обычно называют агент пересылки сообщений (англ. mail transfer agent, MTA). Это компьютерная программа, которая передаёт сообщения от одного компьютера к другому. Обычно почтовый сервер работает «за кулисами», а пользователи имеют дело с другой программой — клиентом электронной почты (англ. mail user agent, MUA).

 

Схема взаимодействия

 

К примеру, в распространённой конфигурации агентом пользователя является Outlook Express. Когда пользователь набрал сообщение и посылает его получателю, почтовый клиент взаимодействует с почтовым сервером, используя протокол SMTP. Почтовый сервер отправителя взаимодействует с почтовым сервером получателя (напрямую или через промежуточный сервер — релей). На почтовом сервере получателя сообщение попадает в почтовый ящик, откуда при помощи агента доставки сообщений (mail delivery agent, MDA) доставляется клиенту получателя. Часто последние два агента совмещены в одной программе (к примеру, sendmail), хотя есть специализированные MDA, которые в том числе занимаются фильтрацией спама. Для финальной доставки полученных сообщений используется не SMTP, а другой протокол — часто POP3 или IMAP — который также поддерживается большинством почтовых серверов. Хотя в простейшей реализации MTA достаточно положить полученные сообщения в личный каталог пользователя в файловой системе центрального сервера («почтовый ящик»).

 

Виды работы с электронной почтой – off-line (вне связи) и on-line (на линии, на связи).

 

on-line – режим работы, при котором пользователь во время сеанса связи находится в контакте с почтовым сервером.

 

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

 

В настоящее время тип работы off-line является наиболее распространенным. Эффективную работу с электронной почтой в этом режиме обеспечивают клиентские почтовые программы.

 

MIME

 

Multipurpose Internet Mail Extensions (MIME, Multipurpose Internet Mail Extension — Многоцелевые Расширения Почты Интернета, произносится как слово mime) — стандарт, описывающий передачу различных типов данных по электронной почте, а также, шире, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по сети Internet

Hosted by uCoz