Электронная почта
Электро́нная по́чта, компьютерная технология, которая позволяет отправлять и получать сообщения в электронном виде посредством сети Интернет.
Электронная почта во многом повторяет обычную почту. Для отправки сообщения пользователь должен указать ряд обязательных атрибутов, основным из которых является адрес получателя. Кроме него зачастую указывается тема сообщения, а также могут использоваться такие необязательные атрибуты как получатели копии и некоторые др. Сообщение может быть представлено в виде текста или текста с форматированием, для чего может применяться язык разметки HTML. Кроме атрибутов (которые часто называют конвертом) и текста вместе с письмом могут отправляться файлы различных форматов, которые называются вложениями. Для объединения текста письма и вложений используется формат MIME (RFC 2045).
Электронная почта появилась в 1965 г., когда сотрудники Массачусетского технологического института Н. Моррис и Т. Ван Флек создали программу mail для операционной системы CTSS (от англ. Compatible Time-Sharing System). Она позволяла отправлять и получать сообщения другим пользователям компьютера. Следующим этапом стала возможность пересылать сообщения пользователям других компьютеров в одной сети, при этом для передачи сообщений между компьютерами использовалась команда UUCP (от англ. Unix-to-Unix CoPy), что требовало от отправителя указания полного маршрута к компьютеру получателя. Наиболее бурное развитие электронная почта получила с внедрением распределённой глобальной системы доменных имён (англ. Domain Name System – DNS). В 1971 г. Р. Томлинсон, работая в проекте ARPANET, создал первый электронный адрес, использующий символ @, который ныне известен как часть электронного адреса. Он также создал программу для отправки сообщений между компьютерами через ARPANET, что считается рождением современной электронной почты. С этого момента адреса электронной почты получили привычный вид и стали состоять из двух частей – имени пользователя и доменного имени сервера, разделённых символом @ (например, user@example.net).
Электронная почта базируется на следующих программных компонентах:
Mail User Agent (MUA) – программное обеспечение, которое используется для создания, отправки, получения сообщений электронной почты, а также отображения сообщений пользователю. MUA чаще всего выполняется на клиенте (компьютере конечного пользователя), но может выполняться и на сервере как в случае с доступом к сообщениям электронной почты через интерфейс браузера (веб-интерфейс). Популярность у пользователей получили такие MUA, как Mozilla Thunderbird, Microsoft Outlook, Apple Mail и др.
Mail Transfer Agent (MTA) – программа, которая принимает сообщения от MUA или других MTA и передаёт их серверу-получателю (иногда через серверы-посредники) или помещает в почтовый ящик пользователя. MTA работает на сервере и кроме отправки и сохранения сообщений может быть настроен на автоматический приём и отправку сообщений, а также на обработку ошибок и восстановление связи при недоступности сервера. В настоящее время популярностью пользуются следующие MTA: Postfix, Sendmail, Exim и др.
Mail Delivery Agent (MDA) – программное обеспечение, которое обрабатывает доставку сообщений электронной почты на почтовом сервере. MDA обеспечивает возможность доступа пользователей к сообщениям в их почтовых ящиках. MDA может быть установлен как на сервере, так и на клиенте. Некоторые популярные MDA: Dovecot, Cyrus IMAP server, Microsoft Exchange Server, IBM Domino Server, Zimbra и др.
Mail Retrieval Agent (MRA) – программа для получения электронной почты с удалённого сервера. MRA используется для получения сообщений с почтового сервера и сохранения их на локальном компьютере. MRA может быть установлена на сервер или на клиентское устройство. Некоторые популярные MRA: Fetchmail, Maildir, mbox и др. В некотором смысле MRA схожа с MUA, но в отличии от последнего она не отображает сообщения пользователю, а выступает посредником между MUA и MDA.
Взаимодействие между программными компонентами электронной почты осуществляется с использованием специальных соглашений (протоколов):
SMTP (от англ. Simple Mail Transfer Protocol) – протокол передачи электронной почты. SMTP используется для отправки электронной почты от одного сервера к другому (MTA – MTA), а также для приёма и отправки почты на локальном почтовом сервере (MUA – MTA) (Secret Key). Он использует DNS для определения правил пересылки почты.
POP (от англ. Post Office Protocol; наиболее распространённая, третья версия протокола обозначается как POP3) – протокол для получения электронной почты с сервера. POP позволяет пользователю получать почту с сервера на свой компьютер или мобильное устройство (Multipurpose Internet). Чаще всего при использовании этого протокола почта удаляется с сервера после прочтения. POP используется тогда, когда нужно получать почту на локальный компьютер или мобильное устройство без необходимости постоянного доступа к серверу.
IMAP (от англ. Internet Messaging Access Protocol) – протокол, который позволяет пользователям работать с электронной почтой на почтовом сервере без необходимости её скачивать на локальный компьютер. IMAP позволяет получать и отправлять почту, просматривать папки и сообщения, управлять другими функциями, которые доступны на почтовом сервере (RFC 3501).
Обобщённая схема взаимодействия программных компонентов электронной почты с указанием используемых протоколов представлена на рисунке.
Изначально протоколы электронной почты не предполагали реализацию обеспечения безопасности передаваемых сообщений, что привело к появлению различных технологий защиты. В настоящее время для обеспечения конфиденциальности и контроля целостности сообщений электронной почты широко применяются два стандарта: S/MIME (RFC 5751), использующий инфраструктуру открытых ключей, и OpenPGP, использующий сертификаты со схемой доверия, группирующегося вокруг пользователя. Стандарты S/MIME и OpenPGP реализуют следующие функции: контроль целостности письма, электронную подпись и шифрование. Дополнительно S/MIME третьей версии позволяет использовать защищённое квитирование (при котором квитанция о получении письма может быть сгенерирована успешно только в том случае, когда письмо дошло до получателя в неизменном виде).