Электронная почта Email как она работает и из чего состоит

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

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

Архитектура электронной почты

Пользователи работают с электронной почтой с помощью агентов пользователя, по английский mail user agent. Это может быть клиент электронной почты, который устанавливается на локальный компьютер пользователя, такой как Microsoft Outlook или Mozilla Thunderbird. Агент пользователя, также может работать через Веб-интерфейс с использованием браузера, так работают почта Яндекс и MailRu. 

Пользователь готовит сообщение с помощью агента и передает его на почтовый сервер, который называется “агент передачи почты” (Mail Transfer Agent). Этот агент передачи почты определяет получателя, которому предназначается письмо, ищет почтовый сервер, который обслуживает этого получателя и передает сообщение на этот почтовый сервер. Для передачи сообщения между почтовыми серверами, опять же используется программа “агент передачи почты”. 

Когда сообщение дошло до того почтового сервера, который обслуживает пользователя, запускается программа “агент доставки почты”, которая копирует сообщения в хранилище сообщений. Это почтовые ящики на сервере, где письма хранятся и ждут, когда пользователь за ними обратится. 

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

В электронной почте используется 3 протокола: 

  • Для передачи сообщения, как от агента пользователя почтовому серверу, так и между серверами, используется протокол SMTP. 
  • Для чтения писем из хранилища сообщения используется два протокола POP3 и IMAP. Отличия заключаются в том, что протокол POP3 передает все сообщения из хранилища сообщений на локальный компьютер пользователя, и только после этого показывает их в агенте. А протокол IMAP рассчитан на работу напрямую с хранилищем сообщений. Письма, после прочтения пользователем, не удаляются с хранилища, в отличии от протокола POP3, который удаляет с сервера все сообщения, которые были получены пользователем. 

Формат адреса электронной почты

Формат адреса эл.почты состоит из двух частей. ZvonDoZvon@gmail.com

Первая часть zvondozvon это идентификатор пользователя, а правая часть gmail.com это домен электронной почты. Для разделения получателя от домена используется символ коммерческая ЭТ, часто по русски, ее называют собакой. 

При создании электронной почты, вместо доменного имени использовалось просто имя компьютера, предлог эт можно перевести как “на”, поэтому адрес электронной почты можно было прочитать, как пользователь ZvonDoZvon на компьютере с заданным именем. Однако интернет теперь усложнился и вместо имени компьютера используется доменное имя. 

Как найти почтовый сервер

В связи с эти у нас возникает задача, как по доменному имени мы можем узнать адрес почтового сервера, который принимает почту. Для этого система электронной почты взаимодействует с системой доменных имен DNS. В DNS есть специальный тип записи MX (Mail eXchange), который содержит адреса почтовых серверов, принимающих почту для данного домена. 

Например, для домена gmail.com есть 5 записей типа MX, посмотрите ниже на картинке. 

Особенность записи MX в том, что она состоит из двух полей, первое поле это приоритет, а второе, доменное имя почтового сервера. Передавать почту можно на любой из этих серверов. Сначала выбирается сервер с наименьшим приоритетом, здесь это приоритет 5. Если по каким-то причинам он не работает, нужно подключаться к серверу со следующим приоритетом 10, если он не работает, то передаем на 20 и тд. 

Чтобы посмотреть, какие почтовые сервера обслуживают разные домены, можно использовать утилиту nslookup -type=mx gmail.com. 

Заключение

Это была обзорная лекция по электронной почте. Была рассмотрена архитектура электронной почты, взаимодействие с DNS для определения адресов почтовых серверов. 

Оцените статью
Все о технологиях, мобильных приложениях и тарифах на связь