Как электронная почта может быть направлена в нужное место без адреса:?
Я не новичок в сетевых технологиях, но кое-что, о чем я не особо разбираюсь в деталях, это электронная почта и заголовки. Как электронная почта работает ОСОБЕННО?
Я получаю спам в своем почтовом ящике с горячей почтой, когда я предпринял мучительные попытки не выдавать мою реальную электронную почту. Я использую свое собственное доменное имя для пересылки электронной почты на мой почтовый ящик, используя несколько псевдонимов. Тем не менее, теперь я получаю спам без адреса в строке to: или также "нераскрытых получателей". Смотреть на заголовки не поможет.
Таким образом, с технической точки зрения, я должен задаться вопросом... если я отправляю электронное письмо на определенный адрес в моем личном домене, и оно перенаправляется на мою учетную запись hotmail, как hotmail узнает, в какой почтовый ящик отправляется сообщение, если этот адрес не указан в заголовках?
2 ответа
Это довольно распространенный источник путаницы. В стандартной передаче электронной почты есть два места, где указывается адрес to: один раз в "конверте" и один раз в видимых заголовках электронной почты.
Адрес получателя конверта указывается во время SMTP-транзакции, и вы никогда не увидите установленное там значение. Он используется исключительно SMTP-сервером для маршрутизации сообщения.
Заголовок to: в самом письме не является обязательным, что вы и видите в своей учетной записи hotmail.
Вот поток стандартной SMTP-транзакции:
erik@host:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost ESMTP Postfix (Ubuntu)
helo example.com
250 localhost
mail from: erik@example.com
250 2.1.0 Ok
rcpt to: jimbob@example.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
To: foobar@example.com
Subject: This is the subject
This is the message body.
.
250 2.0.0 Ok: queued as 19CE221FDA
Адрес, указанный после rcpt to:
адрес получателя конверта Адрес, указанный в to:
строка после data
это то, что появляется в вашем почтовом клиенте. Эти два значения не должны совпадать, и, как упоминалось ранее, to:
в части данных не является обязательным.
Чтобы добавить ответ ErikA: придумайте обычное письмо, которое вы отправляете по почте. Вы пишете письмо на каком-то стационарном с бланком, содержащим адреса отправителя и получателя, строку темы и другую информацию. Классический пример показан здесь: http://en.wikipedia.org/wiki/File:Einstein_Szilard_p1.jpg. Это соответствует заголовкам электронной почты, которые отображает ваш почтовый клиент.
Затем вы кладете это письменное письмо в конверт. Информация в письме никому не видна, потому что письмо запечатано в конверт. Вы должны написать адрес отправителя и получателя на самом конверте, чтобы почтовое отделение могло доставить письмо. Это соответствует заголовкам конвертов SMTP.
Если информация на конверте неверна, почта не может и не будет доставлять письмо. SMTP ведет себя точно так же.
Однако, если само письмо не содержит надлежащего бланка, реальных последствий не будет. Конечно, получатель не будет доволен, и ваше письмо будет считаться дурным тоном, но это не влияет на способность почты доставить письмо. Сообщение только смотрит на конверт, а не само письмо. Доставка почты через SMTP работает так же. Он даже использует похожую терминологию.
Из-за этого вы можете найти электронную почту в вашем почтовом ящике, которая не имеет надлежащих заголовков электронной почты, таких как To:,From: или Subject:. Для доставки важны заголовки конвертов SMTP. Ничего больше.