Назад | Перейти на главную страницу

Какой смысл повторять адрес электронной почты в «Конверте» и «Заголовке»?

Я узнал, что и адрес ОТ, и адрес ДО повторяются в скрытом элементе, называемом «конверт», а затем снова повторяются в «теле».

Вопрос

  1. Почему данные конверта не копируются в «заголовок»?
  2. Почему существует такое дублирование, почему нельзя было встроить необходимые функции в само сообщение?
  3. Все ли (не SMTP) транспорты сообщений делают это?
  4. Какие есть альтернативы SMTP? (чтобы я мог лучше понять рассуждения)

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

Отправитель и получатель конверта, которых вы никогда не видите в сообщении, являются частью протокола SMTP и указывают инструкции по доставке, то есть в какой почтовый ящик почтовый сервер должен доставить сообщение или куда его вернуть в случае сбоя. Ни один из адресов не обязательно должен иметь какое-либо отношение к семантическому содержанию сообщения. Они подробно описаны в RFC 5321 разделы 4.1.1.2 и 4.1.1.3.

Логически это аналогично адресам, напечатанным на конверте почтового отправления.

Адреса отправителя и получателя, которые появляются в самом сообщении, указывают семантическое значение, а не явные инструкции по доставке. Они подробно описаны в RFC 5322 раздел 3.6.3 и RFC 6854 раздел 2.1 (который отменяет раздел 3.6.2 RFC 5322).

Вкратце, From: в сообщении указывает почтовый ящик того, кто написал сообщение, Sender: указывает объект, который отправил сообщение от имени другого лица, а To: и Cc: указывают предполагаемый почтовый ящик получателя. RFC определяют и другие поля заголовка, которые могут вас заинтересовать.

Логически они аналогичны адресам, напечатанным в корреспонденции внутри почтового отправления.

Часто отправитель и получатель конверта совпадают с адресами От: и Кому :. Но для них обычно вообще не существует переписки, например, в случае списков рассылки.

Наиболее распространенный сценарий, при котором вы увидите разницу, - это доставка электронного письма нескольким получателям.

Допустим, вы собираетесь отправить электронное письмо по адресу:

  • a@example.com
  • a@example.net
  • b@example.net

Когда ваш почтовый клиент отправляет письмо на ваш почтовый сервер, все три адреса будут повторяться как на конверте, так и в заголовках. Затем ваш почтовый сервер будет искать записи MX для example.com и example.net для продолжения доставки.

Ваш почтовый сервер теперь установит два отдельных SMTP-соединения с каждым из принимающих серверов для дальнейшей отправки электронной почты.

При общении с MX для example.com все три приемника по-прежнему будут в To заголовок, но будет только один получатель конверта.

При общении с MX для example.net все три приемника по-прежнему будут в To заголовок, но получателей конверта будет только два.

В качестве аналога вышеприведенного представьте, что вы распечатали три копии письма, на бумаге которого были написаны три получателя. Затем вы кладете эти три листа бумаги в три отдельных конверта и пишете только по одному адресу на каждом конверте.


Есть и другие сценарии, в которых это имеет значение, например, при использовании bcc и при пересылке электронной почты.

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