Электро́нная по́чта (англ. email, e-mail [iˈmeɪl], от англ. electronic mail) — технология и служба по пересылке и получению электронных сообщений (называемых «письма», «электронные письма» или «сообщения») между пользователями компьютерной сети (в том числе — Интернета).
Электронная почта по составу элементов и принципу работы практически повторяет систему обычной (бумажной) почты, заимствуя как термины (почта, письмо, конверт, вложение, ящик, доставка и другие), так и характерные особенности — простоту использования, задержки передачи сообщений, достаточную надёжность и, в то же время — отсутствие гарантии доставки.
Достоинствами электронной почты являются: легко воспринимаемые и запоминаемые человеком адреса, вида имя_пользователя@имя_домена (например somebody@example.com); возможность передачи как простого текста, так и форматированного, а также произвольных файлов (текстовые документы, медиафайлы, программы, архивы и т. д.); независимость серверов (в общем случае они обращаются друг к другу непосредственно); достаточно высокая надёжность доставки сообщения; простота использования человеком и программами, высокая скорость передачи сообщений.
Недостатки электронной почты: наличие такого явления, как спам (массовые рекламные и вирусные рассылки); возможные задержки доставки сообщения (до нескольких суток); ограничения на размер одного сообщения и на общий размер сообщений в почтовом ящике (персональные для пользователей).
В настоящее время любой начинающий пользователь может завести свой бесплатный электронный почтовый ящик, достаточно зарегистрироваться на одном из интернет-порталов.
Названия
Если в Европе, Америке и др. регионах при написании используются только два варианта — «email» или «e-mail» (причём рекомендации о том, писать дефис или нет, разнятся: например, с марта 2011 года одно из стилистических руководств — AP Stylebook — рекомендует писать сокращение от «электронная почта» как «email», а не «e-mail»), то в русском языке присутствует значительная вариативность. Наиболее часто в кириллических текстах также используется «e-mail», то есть написание латиницей без транслитерации (визуальное восприятие других форм написания хуже), но можно встретить и другие написания:
- электронная почта, эл. почта;
- интернет-почта;
- имейл (транскрипция с английского);
- е-мейл, емейл, емайл, е-мэйл, мейл (различные варианты транслитерации и её сокращения).
Справочное бюро Грамота.ру сначала указывало, что рекомендуется писать e-mail (латиницей) или имейл (кириллицей), а затем стало рекомендовать только кириллическое написание имейл, как зафиксированное, например, в Русском орфографическом словаре РАН.
В словарях зафиксировано четыре вариантных написания: имейл, мейл и-мейл, и-мэйл.
Де-факто в официальных русскоязычных документах:
- в тексте (в смысле «способ связи») употребляют выражение «электронная почта»;
- в списке контактов используют префикс «e-mail» (E-mail: user@example.com).
История
Появление электронной почты можно отнести к 1965 году, когда сотрудники Массачусетского технологического института (MIT) Ноэль Моррис и Том Ван Влек написали программу mail для операционной системы CTSS(Compatible Time-Sharing System), установленную на компьютере IBM 7090/7094.
Общее развитие электронной почты шло через развитие локального взаимодействия пользователей на многопользовательских системах: пользователи могли, используя программу mail (или её эквивалент), пересылать друг другу сообщения в пределах одного мейнфрейма (большого компьютера). Следующий шаг был в возможности переслать сообщение пользователю на другой машине — для этого использовалось указание имени машины и имени пользователя на машине. Адрес мог записываться в виде foo!joe (пользователь joe на компьютере foo). Третий шаг для становления электронной почты произошёл в момент появления передачи писем через третий компьютер. В случае использования UUCP адрес пользователя включал в себя маршрут до пользователя через несколько промежуточных машин (например, gate1!gate2!foo!joe — письмо для joe через машину gate1, gate2 на машину foo). Недостатком такой адресации было то, что отправителю (или администратору машины, на которой работал отправитель) необходимо было знать точный путь до машины адресата.
После появления распределённой глобальной системы имён DNS для указания адреса стали использоваться доменные имена — user@example.com — пользователь user на машине example.com. Одновременно с этим происходило переосмысление понятия «на машине»: для почты стали использоваться выделенные серверы, на которые не имели доступ обычные пользователи (только администраторы), а пользователи работали на своих машинах, при этом почта приходила не на рабочие машины пользователей, а на почтовый сервер, откуда пользователи забирали свою почту по различным сетевым протоколам (среди распространённых на настоящий момент — POP3, IMAP, MAPI, веб-интерфейсы). Одновременно с появлением DNS была придумана система резервирования маршрутов доставки почты, а доменное имя в почтовом адресе перестало быть именем конкретного компьютера и стало просто фрагментом почтового адреса. За обслуживание домена могут отвечать многие серверы (возможно, физически размещённые на разных континентах и в разных организациях), а пользователи из одного домена могут не иметь между собой ничего общего (особенно подобное характерно для пользователей бесплатных серверов электронной почты).
Кроме того, существовали и другие системы электронной почты (некоторые из них существуют и сейчас), как то: Netmail в сети Фидонет, X.400 в сетях X.25. Доступ к ним из сети Интернет и обратно осуществляется через почтовый шлюз. Для маршрутизации почты в сетях X.25 в DNS предусмотрена специальная ресурсная запись c соответствующим названием X25 (код 19).
Хронология
- 1996 год, 4 июля (день Независимости США) — начало коммерческого функционирования почтового сервиса Hotmail. Дата старта сервиса символизировала освобождение от интернет-провайдеров.
- 1997 год, 8 марта — компания Yahoo! приобретает портал RocketMail — один из первых бесплатных почтовых сервисов. Появление сервиса Yahoo! Mail.
- 1998 год, 15 октября — заработала бесплатная электронная почта от Mail.ru.
- 2000 год, 26 июня — запущена Яндекс.Почта — бесплатный почтовый сервис от компании Яндекс.
- 2000 год, 1 августа — запущена Рамблер/почта — бесплатный почтовый сервис от компании Рамблер.
- 2004 год, 1 апреля — запущен бесплатный почтовый сервис Gmail от компании Google.
MxA-классификация
В терминологии электронной почты выделяются следующие компоненты:
- MTA (англ. mail transfer agent — агент пересылки почты) — отвечает за пересылку почты между почтовыми серверами; как правило, первый MTA в цепочке получает сообщение от MUA, последний передаёт сообщение к MDA; возможна реализация с отправкой почты через smart host.
- MDA (англ. mail delivery agent — агент доставки почты) — отвечает за доставку почты конечному пользователю.
- MUA (англ. mail user agent — почтовый агент пользователя; в русской нотации закрепился термин почтовый клиент) — программа, обеспечивающая пользовательский интерфейс, отображающая полученные письма и предоставляющая возможность отвечать, создавать, перенаправлять письма.
- MRA (агнл. mail retrieval agent) — почтовый сервер, забирающий почту с другого сервера по протоколам, предназначенным для MDA
В случае использования выделенных серверов для хранения почты пользователей всё взаимодействие пользователя с сервером может происходить по протоколам, не укладывающимся в эту схему.
Почтовые серверы обычно выполняют функцию MTA и MDA. Некоторые почтовые серверы (программы) выполняют функцию как MTA, так и MDA, некоторые подразумевают разделение на два независимых сервера: сервер-MTA и сервер-MDA (при этом если для доступа к ящику используются различные протоколы, например POP3 и IMAP, то MDA, в свою очередь, может быть реализован либо как единое приложение, либо как набор приложений, каждое из которых отвечает за отдельный протокол).
Современная архитектура (SMTP)
Общепринятым в мире протоколом обмена электронной почтой является SMTP (англ. simple mail transfer protocol — простой протокол передачи почты). В общепринятой реализации он использует DNS для определения правил пересылки почты (хотя в частных системах, вроде Microsoft Exchange, SMTP может действовать, исходя из информации из других источников).
В различных доменах настроены свои, независимые друг от друга почтовые системы. У каждого почтового домена может быть несколько пользователей. (Однако фактически может быть так, что одна организация или персона владеет многими доменами, которые обслуживаются (физически) одной почтовой системой). Почта передаётся между узлами с использованием программ пересылки почты (англ. mail transfer agent, MTA; такими, как, например: sendmail, exim4, postfix, Microsoft Exchange Server, Lotus Domino и т. д.). Поведение систем при связи друг с другом строго стандартизировано, для этого используется протокол SMTP (и соблюдение этого стандарта, наравне со всеобщей поддержкой DNS всеми участниками, является основой для возможности связи «всех со всеми» без предварительных договорённостей). Взаимодействие почтовой системы и пользователей, в общем случае, никак не регламентируется и может быть произвольным, хотя существуют как открытые, так и закрытые (завязанные на ПО конкретных производителей) протоколы взаимодействия между пользователями и почтовой системой. Программа, работающая в почтовой системе и обслуживающая пользователей, называется MDA (англ. mail delivery agent, агент доставки почты). В некоторых почтовых системах MDAи MTA могут быть объединены в одну программу, в других системах могут быть разнесены в виде разных программ или вообще выполняться на различных серверах. Программа, с помощью которой пользователь осуществляет доступ, называется MUA (англ. mail user agent). В случае использования веб-интерфейса для работы с почтой, её функцию выполняет приложение веб-интерфейса, запускаемое на сервере.
Внутри заданной почтовой системы (обычно находящейся в рамках одной организации) может быть множество почтовых серверов, выполняющих как пересылку почты внутри организации, так и другие, связанные с электронной почтой задачи: фильтрацию спама, проверку вложений антивирусом, обеспечение автоответа, архивация входящей/исходящей почты, обеспечение доступа пользователям различными методами (от POP3 до ActiveSync). Взаимодействие между серверами в рамках одной почтовой системы может быть как подчинено общим правилам (использование DNS и правил маршрутизации почты с помощью протокола SMTP), так и следовать собственным правилам компании (используемого программного обеспечения).
Релеи
DNS позволяет указать в качестве принимающего сервера (MX-запись) любой узел интернета, не обязательно являющийся частью доменной зоны домена получателя. Это может использоваться для настройки релеинга (пересылки) почты через третьи серверы. Сторонний сервер (например, более надёжный, чем серверы пользователя) принимает почту для домена пользователя и пересылает его на почтовые серверы пользователя, как только появляется возможность. Исторически контроля над тем, «кому пересылать» почту, не было (или этому не придавали должного значения) и серверы без подобного контроля передавали почту на любые домены. Такие серверы называются открытыми релеями (в настоящее время новые открытые релеи появляются в основном из-за ошибок в конфигурировании).
Для своих пользователей серверы почтовой системы являются релеями (пользователи отправляют почту не на серверы почтовой системы адресата, а на «свой» почтовый сервер, который передаёт письма далее). Во многих сетях провайдеров возможность отправлять письма по протоколу SMTP за пределы сети закрыта (из-за использования этой возможности троянами, вирусами). В этом случае провайдер предоставляет свой SMTP-сервер, через который и направляется вся почта за пределы сети. Открытым релеем при этом считается такой релей, который не проверяет, является ли пользователь «своим» (проверка может осуществляться как на основании сетевого адреса компьютера пользователя, так и на основании идентификации пользователя паролем/сертификатом).
Маршрутизация почты
Почтовый сервер, получив почту (из локального источника или от другого сервера) проверяет, существуют ли специфичные правила для обработки почты (правила могут основываться на имени пользователя, на домене в адресе, на содержимом письма и т. д.), если специфичных правил не обнаружено, то проверяется, является ли почтовый домен локальным для сервера (то есть является ли сервер конечным получателем письма). Если является, то письмо принимается в обработку. Если же домен письма не является локальным, то применяется процедура маршрутизации почты (являющаяся основой для передачи писем между различными серверами в Интернете).
При маршрутизации используется только доменная часть адреса получателя (то есть часть, находящаяся после символа @). Для домена получателя ищутся все MX-записи. Они сортируются в порядке убывания приоритета. Если адрес почтового сервера совпадает с одним из узлов, указанных в MX-записях, — все записи с приоритетом, меньшим приоритета узла в MX-записи (а также MX-запись самого узла), отбрасываются, а доставка осуществляется на первый отвечающий узел (узлы пробуются в порядке убывания приоритета). Это сделано на случай, если почтовый сервер отправителя является релеем почтового сервера получателя. Если MX-запись для домена не найдена, то делается попытка доставить почту по A-записи, соответствующей домену. Если же записи о домене нет, то формируется сообщение о невозможности доставки (bounce message). Это сообщение формируется с MAIL FROM:<> (RFC 5321), в поле «To» указывается отправитель исходного письма, в поле «From» — e-mail вида MAILER-DAEMON@имя сервера. Под именем сервера понимается имя хоста в Интернет, который сгенерировал уведомление. MAIL FROM:<> позволяет защитить почтовые серверы от бесконечного хождения сообщений об ошибке между серверами — если сервер обнаруживает, что не может доставить письмо с пустым обратным адресом, то он уничтожает его. Сообщение о невозможности доставки также может формироваться через некоторое время. Это происходит в случае, если обнаруженная проблема определяется, как временная, но истекает время нахождения сообщения в очереди (RFC 5321, раздел 4.5.4.1. Sending Strategy).
Если сеть имеет различные DNS-серверы (например, внешние — в Интернете и локальные — в собственных пределах), то возможна ситуация, когда «внутренние» DNS-серверы в качестве наиболее приоритетного получателя указывают на недоступный в Интернете сервер, куда и перенаправляется почта с релея, указанного как узел-получатель для Интернета. Подобное разделение позволяет осуществлять маршрутизацию почты по общим правилам между серверами, не имеющими выхода в Интернет.
Протоколы получения
После попадания почты на конечный сервер он осуществляет временное или постоянное хранение принятой почты. Существует две различные модели работы с почтой: концепция почтового хранилища (ящика) и почтового терминала.
POP3
В концепции почтового хранилища почта на сервере хранится временно, в ограниченном объёме (аналогично почтовому ящику для бумажной почты), а пользователь периодически обращается к ящику и «забирает» письма (то есть почтовый клиент скачивает копию письма к себе и удаляет оригинал из почтового ящика). На основании этой концепции действует протокол POP3.
IMAP
Концепция почтового терминала подразумевает, что вся корреспонденция, связанная с почтовым ящиком (включая копии отправленных писем), хранится на сервере, а пользователь обращается к хранилищу (иногда его по традиции также называют «почтовым ящиком») для просмотра корреспонденции (как новой, так и архива) и написания новых писем (включая ответы на другие письма). На этом принципе действует протокол IMAP и большинство веб-интерфейсов бесплатных почтовых служб. Подобное хранение почтовой переписки требует значительно бо́льших мощностей от почтовых серверов, в результате во многих случаях происходит разделение между почтовыми серверами, пересылающими почту, и серверами хранения писем.
Различия
Основываясь на работе протоколов, можно разделить их по двум основным критериям:
- производительность сервера — в этом отношении IMAP более требователен к ресурсам, нежели POP3, так как вся работа по обработке почты (такая как поиск) ложится на плечи сервера, POP3 только передаёт почту клиенту;
- пропускная способность канала — здесь IMAP в выигрыше: POP3 передаёт тела всех писем целиком, тогда как IMAP может передавать отдельные части сообщений, например только текстовую, а остальное — по запросу.
В определённых условиях сервер хранения писем может быть настроен на поведение, подобное клиенту: такой сервер обращается к почтовому серверу по протоколу POP3 и забирает почту себе. Подобные решения используются обычно в малых организациях, в которых нет инфраструктуры для развёртывания полноценных почтовых серверов; в этом случае используется локальный сервер для хранения почты и почтовый сервер провайдера, предоставляющий услугу получения почты по POP3 (например, с помощью fetchmail). Основным недостатком подобного решения является задержка в доставке (так как забирающее почту ПО обращается на серверы с некоторой задержкой) — например, POP3 connector из Exchange 2003 Server в составе Windows SBS не позволяет через интерфейс конфигурирования выставить интервал менее 15 минут, так как чрезмерная частота проверок способна вызвать проблемы с нагрузкой на почтовый сервер. Некоторые почтовые серверы имеют средства для защиты от подобного поведения.
Структура письма
При передаче по протоколу SMTPэлектронное письмо состоит из следующих частей.
- Данные SMTP-конверта, полученные сервером. Часть этих данных может отсутствовать в самом сообщении. Так, например, в RCPT TO (envelope to) содержится список получателей письма, при этом в самом письме получатель может быть не указан. Эта информация передаётся за пределы сервера только в рамках протокола SMTP, и смена протокола при доставке почты (например, на узле-получателе в ходе внутренней маршрутизации) может приводить к потере этой информации. В большинстве случаев эта информация недоступна конечному получателю, который использует не-SMTP-протоколы (POP3, IMAP) для доступа к почтовому ящику. Для возможности контролировать работоспособность системы эта информация обычно сохраняется в журналах почтовых серверов.
- Само сообщение (в терминологии протокола SMTP — 'DATA'), которое, в свою очередь, состоит из следующих частей, разделённых пустой строкой:
- заголовки (англ. headers) письма — в них указывается служебная информация и пометки почтовых серверов, через которые прошло письмо, пометки о приоритете, указание на адрес и имя отправителя и получателя письма, тема письма и другая информация;
- тело (англ. body) письма — в нём находится собственно сообщение письма.
Данные SMTP-конверта
Данные SMTP-конверта содержат в себе параметры, которые задаются одноимёнными командами:
- Параметр HELO/EHLO — содержит имя (FQDN) отправляющего узла, либо адрес-литерал отправляющего узла.
- Параметр MAIL FROM — содержит e-mail отправителя. Адрес может быть произвольным (в том числе несуществующим, что допускается протоколом SMTP; однако RFC 5321 содержит рекомендацию использовать или Null Reverse-Path для специальных сообщений, или существующий e-mail), но именно это значение используется для формирования уведомлений об ошибках доставки сообщений (а не значение из поля From заголовка сообщения). Этот адрес, так же, может проверяться при первичной проверке на спам и в иных случаях. При отправке сообщения обычный почтовый клиент формирует MAIL FROM из содержимого поля From.
- Параметр RCPT TO — наиболее важное содержимое конверта для доставки почты, содержит электронный адрес одного или нескольких получателей. При формировании SMTP-конверта RCPT TO может использоваться несколько раз. При отправке сообщения обычный почтовый клиент формирует список для RCPT TO из содержимого полей сообщения To, Cc и Bcc.
Заголовки письма
Заголовки письма описываются стандартами RFC:
- RFC 2076 — Common Internet Message Headers (общепринятые стандарты заголовков сообщений), включает в себя информацию из других RFC: RFC 822, RFC 1036, RFC 1123, RFC 1327, RFC 1496, RFC 1521, RFC 1766, RFC 1806, RFC 1864, RFC 1911).
- RFC 4021 — Registration of Mail and MIME Header Fields (регистрация почты и поля заголовков MIME).
Заголовки отделяются от тела письма пустой строкой. Заголовки используются для журналирования прохождения письма и служебных пометок (иногда их называют кладжами). В Microsoft Outlook эти заголовки называются «Заголовки Интернет». В заголовках обычно указываются: почтовые серверы, через которые прошло письмо (каждый почтовый сервер добавляет информацию о том, от кого он получил это письмо), информацию о том, похоже ли это письмо на спам, информацию о проверке антивирусами, уровень срочности письма (может меняться почтовыми серверами). Также в заголовке обычно пишется программа, с помощью которой было создано письмо. Поскольку заголовки являются служебной информацией, то чаще всего почтовые клиенты скрывают их от пользователя при обычном чтении писем, но также предоставляют возможность увидеть эти заголовки, если возникает потребность в более детальном анализе письма. В случае, если письмо из формата SMTP конвертируется в другой формат (например, в Microsoft Exchange 2007 письма конвертируются в MAPI), то заголовки сохраняются отдельно, для возможности диагностики.
Заголовки обычно добавляются снизу вверх (то есть каждый раз, когда к сообщению нужно добавить заголовок, он дописывается первой строкой, перед всеми предыдущими).
Помимо служебной информации, заголовки письма также хранят и показываемую пользователю информацию, это обычно отправитель письма, получатель, тема и дата отправки.
Заголовки сообщения могут содержать только 7-битные символы. При необходимости использовать национальные символы в каких-то полях требуется использование кодировок. Как правило, это Base64 или Quoted-Printable.
Часто используемые заголовки
Помимо стандартных, почтовые клиенты, серверы и роботы обработки почты могут добавлять свои собственные заголовки, начинающиеся с «X-» (например: X-Mailer, X-MyServer-Note-OK или X-Spamassasin-Level).
- Return-Path: (RFC 821, RFC 1123) — адрес возврата в случае неудачи, когда невозможно доставить письмо по адресу назначения. Может отличаться от MAIL FROM и заголовков From:, Sender: или Reply-To:, но обычно совпадает с MAIL FROM.
- Received: (RFC 822, RFC 1123) — данные о прохождении письма через каждый конкретный почтовый сервер (MTA). При прохождении через несколько почтовых серверов (обычная ситуация), новые заголовки дописываются над предыдущими, в конечном итоге журнал перемещения будет записан в обратном порядке (от ближайшего к получателю узла к самому дальнему).
- MIME-Version: (RFC 1521) — версия MIME, с которым это сообщение создано. Зачастую этот заголовок создаётся раньше всех остальных, поэтому он обычно самый первый (то есть последний в списке).
- From: (RFC 822, RFC 1123, RFC 1036) — имя и адрес отправителя (именно в этом заголовке появляется текстовое поле с именем отправителя). Может не совпадать с return-path и даже не совпадать с заголовком SMTP MAIL FROM:.
- Sender: (RFC 822, RFC 1123) — отправитель письма. Добавлено для возможности указать, что письмо от чьего-то имени (from) отправлено другой персоной (например, секретарём от имени начальника). Некоторые почтовые клиенты показывают сообщение при наличии sender и from как «сообщение от 'sender' от имени 'from'». Sender является информационным заголовком (и также может отличаться от заголовка SMTP MAIL FROM).
- To: (RFC 822, RFC 1123) — имя и адрес получателя. Может содержаться несколько раз (если письмо адресовано нескольким получателям). На основании этого поля формируется содержимое поля SMTP RCPT TO.
- Cc: (RFC 822, RFC 1123) — (от англ. carbon copy) содержит имена и адреса вторичных получателей письма, к которым направляется копия. Участвует в формировании поля SMTP RCPT TO, как и поле «To».
- Bcc: (RFC 822, RFC 1123) — (от англ. blind carbon copy) содержит имена и адреса получателей письма, чьи адреса не следует показывать другим получателям. Участвует в формировании поля SMTP RCPT TO, как поля «To» и «Cc», но отсутствует в отправляемом сообщении.
- Reply-To: (RFC 822, RFC 1036) — имя и адрес, куда следует адресовать ответы на это письмо. Если, например, письмо рассылается роботом, то в качестве Reply-To будет указан адрес почтового ящика, готового принять ответ на письмо.
- Message-ID: (RFC 822, RFC 1036) — уникальный идентификатор сообщения. Состоит из адреса узла-отправителя и номера (уникального в пределах узла). Алгоритм генерации уникального номера зависит от сервера/клиента. Выглядит примерно так: AAB77AA2175ADD4BACECE2A49988705C0C93BB7B4A@example.com. Вместе с другими идентификаторами используется для поиска прохождения конкретного сообщения по журналам почтовой системы (почтовые системы фиксируют прохождение письма по его Message-ID) и для указания на письмо из других писем (используется для группировки и построения цепочек писем). Обычно создаётся почтовым клиентом (MUA) в момент составления письма.
- In-Reply-To: (RFC 822) — указывает на Message-ID, для которого это письмо является ответом (с помощью этого почтовые клиенты могут легко выстраивать цепочку переписки — каждый новый ответ содержит Message-ID для предыдущего сообщения).
- Subject: (RFC 822, RFC 1036) — тема письма.
- Date: (RFC 822, RFC 1123, RFC 1036) — дата отправки письма.
- Content-Type: (RFC 1049, RFC 1123, RFC 1521, RFC 1766) — тип содержимого письма (HTML, RTF, Plain text) и кодировка, в которой создано письмо (см. ниже про кодировки).
- Return-Receipt-To: (RFC 2076) — e-mail, куда почтовый сервер получателя должен отправить уведомление о доставке. В RFC 2076 упоминается в разделе «Not Internet standard», в силу этого может не поддерживаться серверами.
- Disposition-Notification-To: (RFC 3798) — e-mail, куда почтовый клиент получателя должен отправить уведомление о доставке, если это разрешит пользователь (посредством настроек и т. п.).
Тело письма
Тело письма отделяется от заголовка пустой строкой. В не-smtp стандартах формат письма зависит от стандарта системы (например, MAPI), но перед «выходом» письма за пределы MAPI-совместимой системы (например, перед пересылкой через Интернет) обычно приводится к SMTP-совместимому виду (иначе маршрутизация письма была бы невозможной, так как стандартом передачи почты в Интернете является SMTP).
В теле сообщения допускаются только печатные символы. Потому для целей передачи бинарной информации (картинок, исполняемых файлов и т. п.) применяются кодировки, приводящие данные к 7-битному виду — Base64 или UUE. Кроме того, в самом начале существования e-mail ограничение было более жёстким — некоторые почтовые системы поддерживали только 7-битные сообщения. С целью работы с такими системами обычный текст, при наличии национальных символов, так же, может кодироваться в 7-битный вид. Для этого используются Base64 или Quoted-Printable. Однако почтовые системы, которые могут работать только с 7-битными сообщениями, сейчас вряд ли существуют.
Вложения
Цепочки писем
Благодаря наличию в письме уникального идентификатора, а также тому, что подавляющее большинство почтовых клиентов при ответе на письмо копируют его идентификатор в поле In-Reply-To («в ответ на»), появляется возможность достоверной группировки писем по цепочке (англ. thread). В разных почтовых клиентах это реализовано по-разному. Например, Microsoft Outlook позволяет найти все связанные с заданным письма, а веб-интерфейс Gmail группирует сообщения на основании данных о цепочке в единый объект. Некоторые почтовые клиенты (например, mutt) позволяют структурировать цепочки (образующиеся обычно в почтовых рассылках, когда в беседе участвует много подписчиков) в форме дерева (вопрос породил несколько ответов, на каждый из которых дали комментарий — это сформировало несколько ветвей дерева). Также такие клиенты обычно умеют принудительно резать цепочки при смене темы сообщения (считая, что смена темы сообщения означает новое обсуждение, хотя, быть может, и вызванное предыдущей беседой).
Шифрование почты
Для шифрования почты в настоящий момент широко применяются два стандарта: S/MIME (использующий инфраструктуру открытых ключей) и OpenPGP (использующий сертификаты со схемой доверия, группирующегося вокруг пользователя).
Ранее также существовали стандарты MOSS и PEM, но, из-за несовместимости друг с другом и неудобства использования, они не прижились.
Стандарты S/MIME и OpenPGP позволяют обеспечить три вида защиты: защиту от изменения, неотзывную подпись и конфиденциальность (шифрование). Дополнительно, S/MIME третьей версии позволяет использовать защищённое квитирование (при котором квитанция о получении письма может быть сгенерирована успешно только в том случае, когда письмо дошло до получателя в неизменном виде).
Оба стандарта используют симметричные криптоалгоритмы для шифрования тела письма, а симметричный ключ шифруют с использованием открытого ключа получателя. Если письмо адресуется группе лиц, то симметричный ключ шифруется по очереди каждым из открытых ключей получателей (и иногда, для удобства, открытым ключом отправителя, чтобы он имел возможность прочитать отправленное им письмо).
Коммерческое использование
В настоящий момент существуют следующие модели коммерческого применения почтовых систем:
- Домашние и корпоративные почтовые системы — функционируют на собственном или арендованном оборудовании владельца почтовой системы (обычно он же является и владельцем домена, в котором работает почтовый сервер).
- Услуга приёма/отправки электронной почты осуществляется сторонней организацией. Организация (персона) владеет доменом и самостоятельно хранит архив переписки.
- Услуги приёма/отправки и хранения почты осуществляет сторонняя организация на своих мощностях. Заказчик получает доступ к системе исполнителя для отправки писем и для доступа к архиву писем. Почтовый домен при этом находится в собственности заказчика.
- Приём, отправка, хранение писем осуществляет исполнитель, почтовый домен принадлежит исполнителю. Большинство подобных сервисов бесплатны и работают за счёт показа рекламы пользователю или являются бесплатным дополнением к другим сервисам исполнителя (подробнее см.: Почтовый сервис#Бесплатные).
Почтовые рассылки
Почтовая система позволяет организовать сложные системы, основанные на пересылке почты от одного ко многим абонентам, это:
- Почтовые рассылки — письмо от одного адреса с одинаковым (или меняющимся по шаблону) содержимым, рассылаемое подписчикам рассылки. Технически может быть организовано как отправка множества писем (используется при шаблонных письмах) или как отправка письма со множеством получателей (в полях TO, CC, BCC). Для управления крупными почтовыми рассылками (более 10—50 абонентов) используются специализированные программы (например, mailman). Правильно организованная почтовая рассылка должна контролировать возврат писем (сообщения о невозможности доставить письмо) с исключением недоступных адресатов из списка рассылки, позволять подписчикам отписываться от рассылок. Нежелательные почтовые рассылки называются спамом и существенно осложняют функционирование почтовых систем.
- Группы переписки — специализированный тип почтовой рассылки, в которой письмо на адрес группы (обычный почтовый адрес, обработкой почты которого занимается специализированная программа) рассылается всем участникам группы. Является аналогом новостных конференций, эхоконференций. Правильно настроенная почтовая рассылка должна контролировать циклы (два робота рассылок, подписанные друг на друга способны создать бесконечный цикл пересылки писем), ограничивать список участников рассылки, имеющих право на помещение сообщения, выполнять прочие требования к почтовой рассылке.
Для управления почтовыми рассылками используются менеджеры почтовых рассылок. Помимо ведения списка адресов и выполнения отсылки заданного сообщения, они обеспечивают фильтрацию писем, возможности премодерации писем перед помещением в рассылку, ведение архивов, управление подпиской/отпиской, рассылку дайджестов (краткого содержимого) вместо всего объёма рассылки.
Примеры программ управления рассылками:
- mailman;
- Sympa;
- Majordomo.
Спам
Спам — разновидность почтовой рассылки с целью рекламы (часто нежелательной) того или иного товара или услуги, аналог бумажной рекламы, бесплатно распространяемой по почтовым ящикам жилых домов.
По мере роста популярности электронной почты, она (наравне с новостными группами usenet), начала использоваться для рассылки незапрошенных рекламных сообщений, аналогично тому, как раскидываются рекламные брошюры в обычные почтовые ящики. Однако, в отличие от существенной стоимости бумажной рассылки, отправка значительного количества (миллионов и миллиардов) сообщений практически ничего не стоит отправителю. Это привело к непропорциональному росту количества и размера рекламных рассылок (по некоторым данным, спам в настоящее время составляет 70—90 % от всех почтовых сообщений, то есть превысил объём полезной почтовой нагрузки в 2—10 раз).
Для рассылки спама в настоящий момент активно используются все возможные технические ухищрения: открытые релеи, ремейлеры, прокси-серверы, бесплатные серверы электронной почты (допускающие автоматизацию отправки почты), ботнеты, поддельные сообщения о невозможности доставки.
По мере ужесточения запрета на размещение рекламы, сообщения разделились на легитимные рассылки (на которые обычно подписывается пользователь и от которых он может отказаться в любой момент) и нелегитимные (собственно, и называемые спамом). Для борьбы со спамом были разработаны различные механизмы (чёрные списки отправителей, серые списки, требующие повторного обращения почтового сервера для отправки, контекстные фильтры). Одним из последствий внедрения средств борьбы со спамом стала вероятность «ошибочно положительного» решения относительно спама, то есть часть писем, не являющихся спамом, стала помечаться как спам. В случае агрессивной антиспам-политики (уничтожение писем, кажущихся спамом, в автоматическом режиме без уведомления отправителя/получателя) это приводит к трудно обнаруживаемым проблемам с прохождением почты.
Законодательное регулирование в России
Федеральный закон № 152-ФЗ «О персональных данных».
Популярнейшие сервисы электронной почты
Большинство популярных сервисов электронной почты предоставляется IT-компаниями вместе с другими веб-продуктами: поисковыми системами, облачными хранилищами данных и т. д.
Популярнейшие русскоязычные сервисы электронной почты разработаны компаниями Google (Gmail), Яндекс (Яндекс.Почта), Mail.Ru (Mail.ru), Microsoft (Hotmail и Outlook).