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

15

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

Вопрос

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

Ответы:

26

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

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

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

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

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

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

Часто отправитель и получатель конверта совпадают с адресами From: и To :. Но они обычно вообще не имеют никакой корреспонденции, например, в случае списков рассылки.

Майкл Хэмптон
источник
12

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

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

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

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

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

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

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

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


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

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

kasperd
источник