Я не новичок в сетевых технологиях, но я не очень разбираюсь в деталях, это электронная почта и заголовки. Как работает электронная почта КОНКРЕТНО?
Я получаю спам в моем почтовом ящике Hotmail, когда я делал мучительные попытки не выдать свою настоящую электронную почту. Я использую собственное доменное имя для пересылки электронной почты в свой почтовый ящик с использованием нескольких псевдонимов. Тем не менее, теперь я получаю спам без адреса в строке «Кому:» или без указания «получателей». Глядя на заголовки, нет никакой помощи.
Итак, с технической точки зрения, я должен задаться вопросом ... если я отправлю электронное письмо на определенный адрес в моем личном домене, и оно будет перенаправлено на мою учетную запись hotmail, как hotmail узнает, в какой ящик входящей выгрузить сообщение, если этот адрес не указаны в заголовках?
Это довольно частый источник путаницы. В стандартной передаче электронной почты есть два места, где указывается адрес: один раз в «конверте» и один раз в видимых заголовках электронной почты.
Адрес получателя конверта указывается во время транзакции 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 работает точно так же. Здесь даже используется похожая терминология.
Из-за этого вы можете найти в своем почтовом ящике письмо, у которого нет правильных заголовков, например Кому:, Из: или Тема:. Для доставки важны заголовки конвертов SMTP. Ничего больше.