Уже двадцать лет все предсказывают смерть электронной почты, а она всё никак. В этой статье разбираем, как она устроена.
Что умеет электронная почта
Электронная почта — асинхронный формат общения в интернете. Асинхронный — это значит, что никто из участников не сидит с открытым почтовым клиентом и не ждёт ответа в реальном времени, а просто читает почту, когда ему удобно. Это похоже на то, как работают обычные бумажные письма: мы отправляем конверт, но когда его получат и прочитают — от нас уже не зависит.
По электронной почте можно отправить как обычный текст (как в бумажном письме), так и приложить к нему какие-то дополнительные данные:
- фотографии,
- документы,
- музыку и любые другие файлы.
Это как на почте положить в бандероль кроме письма пачку фотографий, открытку с приветом и банку огурцов от бабушки — получается как бы письмо с прикреплёнными дополнительными материалами.
👉 Отправить слишком большой файл не получится — почти у всех почтовых серверов есть ограничения на максимальный размер файла или письма. Но в таких случаях можно большой файл залить в облако и дать на него ссылку.
Для чего нужна
Обычно электронная почта нужна в трёх случаях:
- Сообщить что-то не очень срочное. При этом информация может быть важной, но не стоит ожидать, что собеседник моментально читает все письма, которые ему приходят.
- Передать что-то важное или нужное. Это могут быть документы, ссылка на папку в облачном хранилище, отчёт за неделю или список покупок для отпуска.
- Восстановить пароль от онлайн-сервиса, если его забыл; уведомить о доставке заказа; прислать электронный чек после покупки.
Адрес электронной почты
Чтобы получать и отправлять письма, нужно получить адрес электронной почты. Раньше их выдавали только провайдеры интернета своим абонентам — например, если ты подключался к провайдеру «Кубаньэлектросвязь», то тебе выдавался адрес вроде name@kuban.net. Часто услуга была платной.
Потом появились онлайн-сервисы, которые выдают адреса всем желающим и бесплатно. Сейчас каждый может зарегистрировать сколько угодно электронных почт — для этого достаточно зайти на Яндекс и придумать имя для своего почтового ящика.
Каждый адрес электронной почты состоит из трёх частей: имени, символа @ и адреса почтового сервера:
Имя пользователя каждый придумывает сам, но есть момент: если кто-то до вас уже взял себе такое имя, то вы не сможете его использовать и нужно придумать другое. Для имени используются цифры, буквы латинского алфавита, дефис, знак подчёркивания. Некоторые почтовые службы также разрешают использовать точку, например: misha.ivanov@yandex.ru
Разделитель — это специальный символ @, который отделяет имя пользователя от адреса сервера. В русском языке его называют собакой, в английском — at, в Польше — обезьяной, а во Франции — улиткой. Происхождение — от предлога at, «при». Получается «Миша Иванов при Яндексе».
Адрес сервера показывает, на какой сервер будут приходить входящие письма. Если кто-то напишет на адрес thecode.media@yandex.ru, то это письмо будет обрабатывать почтовый сервер Яндекса.
Почтовые серверы
Чтобы письма можно было отправлять и получать, используют почтовые серверы. Они решают две задачи:
- Пересылают по нужному адресу письма, которые вы отправляете.
- Принимают и хранят у себя письма, которые пришли вам.
Когда компьютеров в сети было всего несколько сотен, у каждого был свой адрес, все писали друг другу письма напрямую и отдельных почтовых серверов не было. Потом, когда компьютеров стало много, стало ясно, что хранить полный список всех пользователей уже не получится. Вместо этого каждый провайдер интернета запустил свой почтовый сервер, а пользователям дал имена внутри этого сервера.
Например, если у провайдера был свой сервер provider.com, то все, кто пользовался его услугами, получали адрес вида vasya@provider.com или thecode@provider.com. Если менялся провайдер — менялся и адрес, потому что у каждого провайдера был свой сервер.
Сейчас такого уже нет — можно использовать бесплатные серверы Яндекса или вообще поднять собственный сервер и настроить его для работы с почтой. Но вариант получить адрес в домене провайдера тоже остался, мало ли что.
👉 Технически почтовый сервер — это не столько «компьютер», который обрабатывает письма, сколько программа, которая работает на этом компьютере. Вы можете скачать на свой компьютер программу почтового сервера, запустить, настроить адресацию и обмениваться письмами сколько угодно. Но так обычно не делают, потому что гораздо удобнее хранить корреспонденцию на чужом сервере и подключаться к нему по необходимости.
Как электронные письма доставляются по назначению
Чтобы написать письмо, используют почтовые клиенты — программы, которые занимаются отправкой писем на сервер. Это может быть отдельная программа, например Outlook или «Почта» в MacOS, а может быть вкладка в браузере, если используется онлайн-сервис.
Когда вы нажимаете кнопку «Отправить», то дальше всё происходит так:
- Почтовый клиент находит адрес вашего сервера и передаёт ему письмо.
- Почтовый сервер смотрит в адресе письма на доменное имя получателя и обращается к нему, мол, держи новое письмо.
- Сервер получателя смотрит, есть ли у него пользователь с таким именем, как в адресе. Если есть — принимает письмо, если нет — отвечает, что вы ошиблись адресом, тут таких нет.
- Если всё в порядке, письмо отправляется на сервер получателя и лежит там.
- Когда получатель проверит почту, сервер ему скажет — тебе новое письмо, сейчас я тебе его отправлю.
- Получатель принимает письмо от своего сервера, задача решена.
Эта схема не учитывает много тонкостей (например, когда есть переадресация писем или на одном домене стоит почтовый сервер из другого домена), но в целом всё работает так. А нюансы отправки разберём в следующей статье, заодно и посмотрим, из чего на самом деле состоит электронное письмо.
Что дальше
Впереди ещё много интересных тем: заглянем внутрь служебной части письма, чтобы научиться отличать письма от мошенников, а потом попробуем запустить свой почтовый сервер. Подписывайтесь, чтобы не пропустить новые статьи.