如果没有收件人:地址,电子邮件怎么可能被路由到正确的地方?

如果没有收件人:地址,电子邮件怎么可能被路由到正确的地方?

我不是网络技术新手,但有一件事我不太了解,那就是电子邮件和标题。电子邮件具体是如何工作的?

当我竭尽全力不泄露我的真实电子邮件地址时,我的 hotmail 收件箱中却出现了垃圾邮件。我使用自己的域名,通过多个别名将电子邮件转发到收件箱。但现在我收到的垃圾邮件中,收件人:行中没有地址,或者还有“未公开的收件人”。查看邮件头毫无帮助。

因此,从技术角度来看,我不得不怀疑...如果我向我个人域中的某个地址发送电子邮件,并且该电子邮件被转发到我的 hotmail 帐户,如果该地址未在标题中列出,hotmail 如何知道将邮件转储到哪个收件箱中?

答案1

这是相当常见的混淆原因。在标准电子邮件传输中,有两个地方指定收件人地址 - 一个在“信封”中,另一个在可见的电子邮件标题中。

信封收件人地址是在 SMTP 事务期间指定的,您永远不会看到在那里设置的值。它仅由 SMTP 服务器用于路由消息。

电子邮件本身的收件人:标题是可选的,这就是您在 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: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
To: [email protected]
Subject: This is the subject

This is the message body.
.
250 2.0.0 Ok: queued as 19CE221FDA

后面指定的地址rcpt to:是信封收件人地址。to:后面一行中指定的地址data是电子邮件客户端中显示的地址。这两个值不必匹配,并且如前所述,to:数据部分中的是可选的。

答案2

补充一下 ErikA 的回答:想象一下你通过邮寄发送的普通信件。你把信写在某种带有信头的信纸上,信纸上写有发件人和收件人的地址、主题行和其他信息。下面是一个典型的例子:http://en.wikipedia.org/wiki/File:Einstein_Szilard_p1.jpg。这与您的邮件客户端显示的电子邮件标题相对应。

然后,您将写好的信件放入信封中。由于信件被塞入信封中,因此任何人都看不到信件中的信息。您必须在信封上写上发件人和收件人的地址,邮局才能寄送信件。这对应于 SMTP 信封标头。

如果信封上的信息不正确,邮局将无法也不会投递这封信。SMTP 的行为也一样。

但是,如果实际信件本身没有正确的信头,则不会产生任何实际后果。当然,收件人不会高兴,您的信件也会被视为不雅,但这不会影响邮局投递信件的能力。邮局只看信封,而不看实际信件本身。通过 SMTP 的电子邮件投递方式相同。它甚至使用类似的术语。

因此,您可能会在收件箱中发现没有正确电子邮件标题的电子邮件,例如到:从:或者主题:。对于传递来说,重要的是 SMTP 信封标头。其他的都不重要。

相关内容