Вы отправляете их каждый день. Может быть, дюжину раз до обеда. Легко забыть, что за каждым нажатием кнопки «Отправить» миллиарды сообщений пересекают весь мир. Вам кажется, что здесь задействована сложная, защищенная крепость. На самом деле это не так.
Электронная почта обманчиво проста. Если отвлечься от спам-фильтров и сертификатов безопасности, базовые механизмы примитивны. Вы можете задаться вопросом, как сообщение перескакивает с вашего ноутбука на устройство друга на другом конце планеты. Или что на самом деле делает с вашей почвой POP3-сервер.
Ответы здесь не из области научной фантастики, а скорее из области «базовой сантехники». Мы заглядываем в самую суть системы.
Зміст
Первый клик: 1971 год
Рэй Томлинсон изменил всё в 1971 году. До него обмен сообщениями был локальным. Вы могли общаться с кем-то на той же машине. Но не дальше. Томлинсон, инженер, увидел потенциал в объединении машин.
Его решение? Символ @.
Он обозначал принимающую машину. Внезапно вы общались не только со своим собственным компьютером. Вы общались с сетью. Этот единственный символ остается основой глобальной коммуникации.
Это просто текст
Вот факт, который удивляет людей. Электронная почта никогда не предназначалась для изображений. Или видео. Или форматирования.
Это текстовое сообщение.
Всегда было. Даже сегодня. Тело вашего электронного письма — это обычный текст. Да, вы прикрепляете файлы. Эти вложения разбиваются на текстовые строки (обычно с использованием кодировки Base64) для передачи. Они по-прежнему представляют собой просто текст, движущийся по текстовым каналам. Длина не имеет значения. Сложность не имеет значения. Это просто данные.
Инструменты, которые вы используете (и игнорируете)
Вы полагаетесь на почтовый клиент, чтобы читать весь этот текст. Вы, вероятно, не задумываетесь об этом. Вы просто видите папку «Входящие».
Используете ли вы настольную программу вроде Microsoft Outlook или Outlook Express. Или веб-клиенты от Hotmail или Yahoo. Или даже устаревший клиент AOL. Интерфейс меняется. Основная функция — нет.
Каждый клиент, каким бы «умным» он ни был, выполняет четыре действия. Вот и всё.
- Показывает вашу почту. Отображаются заголовки сообщений. Отправитель, тема, время, дата, размер. Вы видите метаданные, а не содержание.
- Открывает сообщение. Вы нажимаете на заголовок. Отображается тело письма. Текст. Фактическое сообщение.
- Создает новое письмо. Вы вводите адрес. Тема. Тело письма. Вы отправляете его.
- Работает с вложениями. Вы можете сохранить то, что получаете. Вы можете прикрепить то, что отправляете.
Это полное описание обязанностей. Продвинутые клиенты добавляют дополнительные функции. Фильтры поиска. Правила. Интеграция с календарями. Но если упростить? Это просмотрщик текста. Редактор текста.
Сторона сервера
Мы рассмотрели то, что видите вы. Клиент. Текст. Заголовки.
Но кто хранит почту?
Именно здесь вступает в игру POP3-сервер. Это не магия. Это хранилище. Это комната ожидания. Когда вы отправляете электронное письмо, оно обычно не летит напрямую на компьютер вашего друга. Оно идет на сервер. Затем на другой. И еще на один.
POP3-сервер — это один из протоколов, помогающих перемещать этот текст. Он позволяет вашему клиенту получать сообщения с удаленного сервера. Вы скачиваете их. Они перемещаются на ваше устройство. Они покидают очередь сервера.
Но почему это важно?
Потому что понимание того, что электронная почта — это просто текст, перемещающийся через простые серверы, меняет ваше восприятие безопасности. Меняет ваше восприятие конфиденциальности. Это не секретный хранилище. Это система открыток, которая каким-то образом научилась прятаться в конвертах.
Мы продолжим раскрывать слои. Инфраструктура построена на допущениях, сделанных сорок лет назад. Допущениях, которые до сих пор держат интернет вместе.
У вас есть клиент. Вы готовы отправлять и получать сообщения. Но клиент бесполезен без пункта назначения. Вам нужен почтовый сервер. Представьте его как почтовое отделение для вашего цифрового почтового ящика.
Давайте отбросим сложность корпоративных решений. Как выглядит простейший возможный почтовый сервер? Если вы понимаете, как работают веб-серверы, концепция аналогична. Машины в интернете запускают программные приложения, которые действуют как серверы. Они просто находятся там. Они слушают. Они ждут подключений на определённых портах.
Логика этой системы жестока своей простотой.
Подход на основе файловой системы
Представьте сервер, который не использует базу данных. Он не использует сложное индексирование. Он просто использует текстовые файлы.
Вот базовая архитектура:
- Список аккаунтов : Сервер ведёт список пользователей. Если ваше имя пользователя — mbrain, сервер знает, что вы существуете. Если Джон Смит использует jsmith, это ещё одна запись.
- Индивидуальные файлы : Для каждого аккаунта существует один текстовый файл. Ваш входящий почтовый ящик — это
MBRAIN.TXT. У Джона —JSMITH.TXT. - Операция добавления (append) : Когда вы отправляете сообщение, сервер не «архивирует» его в традиционном смысле. Он просто добавляет новую строку в конец вашего текстового файла.
Транзакция
Когда вы нажимаете «Отправить» в клиенте, происходят три действия:
- Клиент подключается к серверу.
- Он передаёт имя получателя (
mbrain). - Он передаёт отправителя (
jsmith) и тело сообщения.
Сервер берёт файл MBRAIN.TXT и добавляет в него данные. Это может выглядеть так:
From: jsmith To: mbrain Marshall, Can we have lunch Monday? John
Вот и всё. Никакого шифрования. Никаких фильтров спама. Никакой проверки на вирусы. Просто текстовый файл с новой строкой в конце.
Почему простота важна
Эта модель раскрывает основную функцию хранения электронной почты. Задача сервера — принимать данные и сохранять их до тех пор, пока получатель не извлечёт их. Современные системы гораздо сложнее. Они используют SQL-базы данных, облачные хранилища и распределённые системы. Но фундаментальный принцип остаётся прежним: отправьте данные на порт, сохраните в хранилище, привязанное к конкретному пользователю, и ждите извлечения.
Существуют и другие поля. Временная метка. Дата. Тема письма. Но механизм идентичен. Добавление. Готово.
Теперь мы рассмотрим SMTP-сервер. Именно там происходит фактическая маршрутизация.
Настоящая система электронной почты
Забудьте о добавлении данных в текстовый файл. Система, которой вы фактически пользуетесь ежедневно, — это не текстовый файл, лежащий на жестком диске и ожидающий разбора. Это двухсерверная машина. У вас есть одна часть для отправки и другая для получения.
Часть отправки — это SMTP-сервер. SMTP расшифровывается как Simple Mail Transfer Protocol (Простой протокол передачи почты). Он занимается исходящей почтой. Точка.
Часть получения — это либо POP3-сервер, либо IMAP-сервер. Они занимаются входящей почтой. POP расшифровывается как Post Office Protocol (Протокол почтового отделения). IMAP расшифровывается как Internet Mail Access Protocol (Протокол доступа к интернет-почте).
Типовая настройка почтового сервера выглядит следующим образом:
SMTP-сервер прослушивает порт 25. Это широко известный порт. POP3-сервер прослушивает порт 110. IMAP-сервер использует порт 143.
Вы можете задаться вопросом, почему существует два протокола для входящей почты. Почему бы просто не использовать один? Всё сводится к тому, как вы хотите управлять своими сообщениями. POP3, как правило, загружает и удаляет сообщения, обращаясь с почтой как с физическими письмами, которые вы забираете из почтового отделения. IMAP оставляет сообщения на сервере, синхронизируя их между устройствами, чтобы вы могли читать один и тот же почтовый ящик с телефона, ноутбука или планшета.
Но прежде чем мы перейдём к нюансам синхронизации, давайте посмотрим, как почта фактически покидает ваши руки. Здесь вступает в игру SMTP-сервер.
Отправка электронной почты кажется мгновенной. Вы нажимаете кнопку «Отправить». Сообщение исчезает с вашего экрана. Но за этим простым нажатием скрывается сложный рукопожатие между серверами. Ваш почтовый клиент связывается с SMTP-сервером. Этот сервер связывается с другими SMTP-серверами. Цель — доставка.
Давайте проследим конкретный путь. Вы — пользователь «brain» на сайте howstuffworks.com. Вы хотите связаться с пользователем «jsmith» на домене mindspring.com. Вы используете автономный клиент, такой как Outlook Express.
Первоначальное рукопожатие
Когда вы создавали учетную запись, вы указали mail.howstuffworks.com в качестве своего почтового сервера. Вы нажимаете «Отправить». Вот последовательность действий.
Outlook Express устанавливает соединение с этим сервером на порту 25. Это стандартный порт SMTP. По умолчанию в этой базовой настройке он не зашифрован. Это разговор в открытом текстовом формате.
Ваш клиент сообщает серверу, кто вы и кто получатель. Он включает тело сообщения. Сервер анализирует адрес «кому». Он разделяет [email protected] на часть пользователя (jsmith ) и часть домена (mindspring.com ).
Если бы jsmith также находился на howstuffworks.com, сервер обработал бы это внутренне. Он передал бы сообщение своему агенту доставки, который напрямую передает его на POP3-сервер. Просто. Локально.
Но jsmith находится в другом месте. Сервер должен взаимодействовать с другим доменом.
DNS и поиск маршрута
SMTP-сервер на howstuffworks.com не знает, где в сети находится mindspring.com. Он обращается к серверу доменных имен (DNS).
Он отправляет запрос: «Каков IP-адрес SMTP-сервера на mindspring.com?»
DNS отвечает. Он предоставляет один или несколько IP-адресов для почтовой инфраструктуры Mindspring. Теперь у сервера есть пункт назначения. Он подключается к SMTP-серверу Mindspring, снова используя порт 25.
Разговор повторяется. Ваш клиент говорил с первым сервером. Этот сервер говорит со вторым. Текстовые команды идентичны. Сообщение передается дальше. Сервер Mindspring узнает домен. Он маршрутизирует почту на свой POP3-сервер. Почтовый ящик jsmith заполняется.
Что происходит при сбое?
Сети выходят из строя. Серверы отключаются. Если сервер howstuffworks.com не может связаться с Mindspring, сообщение не исчезает. Оно остается в очереди.
Большинство машин используют программу под названием sendmail для обработки этой очереди. Это двигатель, работающий в фоновом режиме. Sendmail периодически повторяет попытки. Обычный интервал — каждые 15 минут.
Он продолжает пытаться. В течение четырех часов он пытается доставить сообщение. Если это все еще не удается, он отправляет вам уведомление. Сообщение об ошибке (bounce). Отчет об ошибке. Вы узнаете, что что-то пошло не так.
В конце концов он отказывается от попыток. Обычно через пять дней большинство конфигураций sendmail отбрасывают сообщение или возвращают его вам как недоставленное. Цикл завершен, но неудачно.
Язык SMTP
Весь обмен опирается на простые текстовые команды. Они не сложны. Они структурны.
- HELO — Представьтесь удаленному серверу.
- EHLO — Представьтесь и запросите расширенный режим. Это современный стандарт.
- MAIL FROM: — Укажите отправителя.
- RCPT TO: — Укажите получателя.
- DATA — Начните содержимое сообщения. Первые три строки обычно содержат поля «Кому», «От» и «Тема».
- RSET — Сбросить текущую транзакцию. Начать заново.
- QUIT — Закрыть сеанс.
- HELP — Запросить документацию по командам.
- VRFY — Проверить, существует ли конкретный пользователь.
- EXPN — Развернуть список рассылки.
- VERB — Включить подробный вывод.
Эти команды формируют скелет доставки электронной почты. Они читаемы человеком. Вы можете наблюдать их в сетевых дампах. Они раскрывают логику почтовой системы Интернета.
Серверы POP3 и IMAP
Простые настройки POP3 по сути представляли собой текстовые файлы. Сервер хранил почту каждого аккаунта в одном файле, добавляя новые сообщения в конец. Когда вы проверяли входящие, ваш клиент подключался к серверу через порт 110. Вы вводили имя пользователя и пароль. После аутентификации сервер открывал этот текстовый файл и позволял вашему клиенту прочитать его.
Протокол был предельно простым. Вы использовали базовые текстовые команды:
- USER – введите ваш идентификатор
- PASS – введите ваш пароль
- QUIT – закрыть соединение
- LIST – увидеть размеры сообщений
- RETR – получить полное сообщение
- DELE – пометить сообщение для удаления
- TOP – просмотреть первые несколько строк
Ваш клиент получал эти сообщения и сохранял их локально. Затем, по умолчанию, он удалял оригиналы с сервера. Сервер был просто тупым интерфейсом между клиентом и файлом. Вы даже могли протестировать это вручную с помощью telnet.
Сервер IMAP
У POP3 были ограничения. Он загружал почту на одно устройство. Как только она исчезала с сервера, вы не могли получить к ней доступ с других устройств. Это было проблемой, если вы переключались между настольным компьютером и ноутбуком. Вы хотели, чтобы ваша электронная почта следовала за вами.
IMAP (Internet Mail Access Protocol) решил эту проблему. Он сохранял ваши сообщения на сервере. Вместо загрузки всего содержимого вы синхронизировались с состоянием сервера.
Ключевые отличия:
— Папки находятся на сервере. Вы можете организовать почту по папкам, и эта структура сохраняется на всех устройствах.
— Поиск выполняется удалённо. Поиск выполняет сервер, а не ваша локальная машина. Это означает более быстрые результаты, если у вас много писем.
— Доступ с нескольких устройств. Подключайтесь с любого компьютера или телефона. Ваши папки и статусы прочтения/непрочтения остаются согласованными везде.
IMAP сделал электронную почту доступной из любого места. Но он не идеален. В следующем разделе рассматриваются проблемы IMAP и то, как он обрабатывает вложения.
Соединение между вашим почтовым клиентом и IMAP-сервером происходит через порт 143. После установления связи клиент отправляет серию текстовых команд для управления вашим почтовым ящиком. Вы не просто читаете письма; вы отдаете прямые команды. Перечислить папки. Загрузить заголовки из конкретной папки. Получить полное сообщение. Удалить элементы. Выполнить поиск по всей архивной базе. Сервер отвечает на каждую команду.
Однако эта архитектура создает логический пробел. Если все ваши данные хранятся на сервере, как вы можете проверять почту при отключении интернета? Ответ — кэширование. Большинство клиентов решают эту задачу, загружая полные тела сообщений на ваш локальный жесткий диск. Это имитирует поведение POP3, при котором все данные хранятся локально, но сообщения также остаются на сервере. Вы можете читать, составлять и отправлять ответы на письма в автономном режиме. При повторном подключении клиент синхронизирует пропущенные данные: он отправляет ваши черновики и загружает новые сообщения, поступившие за время вашего отсутствия.
Обработка двоичных вложений
Отправка вложений стала стандартной практикой. Вы прикрепляете документ Word, таблицу, звуковой файл или даже программное обеспечение. Эти файлы являются двоичными, а не текстовыми. Изначально протоколы электронной почты поддерживали только текст. Это несоответствие потребовало обходного решения.
В ранние периоды пользователям приходилось вручную кодировать свои файлы с помощью uuencode. Этот процесс был утомительным. Он брал 3 байта двоичных данных и преобразовывал их в 4 символа ASCII-текста. Это делалось путем поочередного извлечения 6 бит и добавления к их значению числа 32. В результате получалась закодированная текстовая строка, представляющая исходный двоичный файл. Пользователь запускал программу самостоятельно, а затем вставлял полученный вывод в тело сообщения.
Ирония заключается в том, что, несмотря на свое огромное социальное значение, базовая система электронной почты удивительно проста. Правила маршрутизации на таких серверах, как sendmail, добавляют сложности, но основной механизм остается простым. В следующий раз, когда вы нажмете кнопку «Отправить», вы будете точно знать, что происходит за кулисами.
Бесплатные и платные почтовые сервисы
Экономика электронной почты: бесплатные и платные сервисы
Мы постоянно используем электронную почту. Это наш основной инструмент для работы и общения с семьей. Согласно исследованию Pew Internet and American Life Project, проведенному в 2007 году, 91% пользователей интернета в США выходили в сеть для отправки или чтения электронной почты. Половина из них проверяла свой почтовый ящик как часть своего повседневного распорядка. Объемы передачи данных поражают воображением. По данным компании Radicati Group, в 2006 году за один день было отправлено 183 миллиарда электронных писем.
Такой огромный объем создал огромный рынок. Вы можете выбрать среди гигантов бесплатных сервисов или специализированных платных решений.
Почему мы выбираем бесплатные сервисы электронной почты
Gmail и Yahoo! не берут с вас плату. Вместо этого они взимают плату с рекламодателей. Вы видите рекламу, потому что ваши сообщения сканируются на наличие ключевых слов. Это сделка, которую вы совершаете каждый день.
Бесплатные сервисы эволюционировали. Они больше не являются просто базовыми почтовыми ящиками.
«Gmail предлагает практически неограниченное онлайн-хранилище.»
Gmail
Бесплатный сервис от Google является мощным инструментом. Он поддерживает множество типов вложений. Он сканирует сообщения на наличие спама, червей и вирусов. Главный плюс — это объем хранилища. Он практически неограничен. Вы можете хранить файлы годами. Интерфейс использует методы сортировки, чтобы помочь вам отфильтровать информационный шум. Важные сообщения находятся быстро.
Yahoo! Mail
Yahoo! остается одним из самых популярных вариантов. Он также предлагает неограниченное онлайн-хранилище. Помимо электронной почты, он включает текстовые сообщения и RSS-ленты новостей. Инструменты организации интуитивно понятны. Вы можете использовать функции перетаскивания (drag-and-drop). Входящие письма сортируются с использованием более дюжины фильтров. Спам автоматически попадает в папку для нежелательной почты.
MSN Windows Hotmail
Hotmail от Microsoft поддерживает 5 ГБ онлайн-хранилища. Это меньше, чем у Gmail, но все равно щедро. Настольный дизайн позволяет настраивать цвета и макеты. Вы можете переключаться между классическим форматом и обновленным видом с новыми функциями. Встроенные функции безопасности Microsoft обеспечивают защиту. Знакомые инструменты перетаскивания добавляют удобства.
Когда стоит платить за электронную почту
Не всем нужны бесплатные сервисы. Некоторые пользователи предпочитают платные услуги. Провайдеры, такие как Juno, EarthLink и Webmail.us, взимают плату. America Online и NetZero также относятся к этой категории.
Зачем платить?
- Персонализированные адреса. Вы можете использовать свое настоящее имя.
- Независимость от провайдера интернета. Сохраняйте тот же адрес электронной почты при смене интернет-провайдера.
- Конфиденциальность. Некоторые сервисы защищают пользователей от рекламодателей.
- Поддержка. Платные планы часто обеспечивают более легкий доступ к службе поддержки.
- Функции. Пользовательские фильтры спама, несколько учетных записей и доступ с мобильных устройств являются распространенными функциями.
Большинство интернет-провайдеров также предоставляют услуги электронной почты без дополнительной платы. Однако для бизнеса платные сервисы являются специализированными. Они помогают вам приобрести и поддерживать доменное имя. Для учетных записей малого бизнеса предоставляется индивидуальная помощь.
Человеческий фактор
Технология занимается маршрутизацией. Она фильтрует спам. Она сортирует вложения. Но тон общения? Это зависит от вас.
В следующем разделе мы предложим несколько советов по этикету при написании и отправке электронных писем.
Почему соблюдение правил деловой переписки по электронной почте важно
Легко забыть, что на другом конце экрана находится живой человек. Мы общаемся с коллегами, клиентами и руководителями, не задумываясь дважды о том, чтобы быть грубыми. Но когда мы переключаемся на электронную почту, эти социальные правила часто исчезают. Барьер в виде клавиатуры позволяет легко быть неприятным, даже не осознавая этого. Большинство людей никогда бы не использовали нецензурную лексику в личном общении. Но можно ли повышать голос в электронной почте? Да. Вы просто делаете это, используя все заглавные буквы или чрезмерное количество восклицательных знаков.
Это руководство охватывает основные правила деловой переписки для профессиональной электронной переписки. Цель — перестать случайно обижать людей и начать быть эффективным.
Как уважать занятых получателей с помощью правил электронной переписки
Люди заняты. Они тонут в потоках сообщений. Вам нужно облегчить их жизнь, а не усложнять ее.
-
Используйте тему письма. Не пропускайте этот шаг. Это не опционально. Получателю нужна подсказка о том, что содержит сообщение. Четкая тема помогает им расставить приоритеты. Она помогает им организовать свой день. Без нее ваше письмо — просто шум.
-
Будьте кратки и лаконичны. Возможно, вы остроумный писатель. Возможно, вы хотите быть смешным. Сохраните каламбуры для поздравительных открыток. В бизнесе побеждает ясность. Изложите свою мысль быстро. Следуйте за ней четкими инструкциями. Скажите им, что именно вам нужно. Не прячьте главную мысль.
-
Сохраняйте персональный характер. Перестаньте копировать всех на каждое письмо. Это засоряет почтовые ящики. Это заставляет основного получателя задаться вопросом, зачем вы привлекаете лишних людей. Если нет конкретной причины, держите разговор между отправителем и получателем. Меньше шума — лучше.
-
Отвечайте быстро. Не позволяйте письмам скапливаться в вашей очереди. Это выглядит так, будто вам все равно. Вернитесь к отправителю. Если вам нужно больше времени, так и скажите. Быстрое «Я разбираюсь в этом» лучше, чем молчание.
Как избежать оскорбления людей с помощью правил электронной переписки
Люди чувствительны. Текст лишен тона. Это делает недопонимание легким.
-
Не злоупотребляйте пунктуацией. Не пишите «Правда???» или «Что!!!!». Это выглядит как крик. Это выглядит как фрустрация. Используйте нормальную пунктуацию. Позвольте вашим словам говорить самим за себя.
-
Не используйте все заглавные буквы. ВСЕ ЗАГЛАВНЫЕ БУКВЫ — ЭТО КРИК. Это невежливо. Это делает вас агрессивным. Если вам нужно подчеркнуть точку зрения, напишите это словами. Скажите «Я хотел бы подчеркнуть…» вместо того, чтобы кричать это в тексте.
-
Прочитайте письмо вслух перед отправкой. Это критически важный шаг. Прочитайте свое письмо себе. Поставьте себя на место получателя. Звучит ли оно резко? Звучит ли оно ясно? Как только вы нажмете кнопку «Отправить», вы не сможете забрать его обратно. Помните, что у получателя есть принтер. У него есть кнопка «Переслать». Никогда не пишите того, чего вы не хотели бы, чтобы было распространено по всей компании. Или, что еще хуже, за ее пределами.
-
Не пишите, когда вы злитесь. Это самое распространенное правило, которое люди нарушают. Вы злитесь на них. Вы злитесь на ситуацию. Вы отправляете письмо. Затем вы жалеете об этом. Вы не можете забрать обратно «огненную» реакцию. Это может преследовать вас годами. Подождите, пока успокоитесь. Прочитайте письмо снова. Затем отправьте.
Как общаться четко, избегая ошибок в электронной переписке
Не все так же современны, как вы. Или, возможно, они просто не говорят на вашем сленге.
-
Минимизируйте использование символов. Эмодзи в тренде. Они передают настроение. Но знаете ли вы разницу между саркастической улыбкой и озорной? Ваш получатель тоже не знает. Легко случайно обидеть кого-то. Избегайте их использования в профессиональных условиях.
-
Минимизируйте сокращенные фразы. Не используйте IMHO или FWIW. Не пишите ROTFL. Это раздражает людей. Это сбивает с толку. Не все знают эти аббревиатуры. Расшифруйте их. Будьте ясны.
Электронная почта — это деловое письмо. Это не сообщение вашему лучшему другу. Игнорирование базовых правил показывает неуважение. Это вредит вашей репутации. Не позволяйте неформальности испортить то, как люди вас воспринимают.
Для получения дополнительной информации о том, как работает инфраструктура электронной почты, ознакомьтесь со связанными статьями ниже.
Связанные статьи HowStuffWorks
-
Как работают веб-серверы
-
Как работают серверы доменных имен
-
Как работает интернет-инфраструктура
-
Как работают маршрутизаторы
-
Как работают веб-страницы
-
Как работают байты и биты
-
Как работают компьютерные вирусы
Дополнительные полезные ссылки
-
RFC 822
-
RFC 1123
-
Протокол почтового отделения (Post Office Protocol)































