我不是networking技术的新手,但有一点我不太了解细节,那就是电子邮件和标题。 电子邮件是如何工作的?
当我尝试不发送实际的电子邮件时,我正在收到我的hotmail收件箱中的垃圾邮件。 我使用自己的域名将邮件转发到我的收件箱使用几个别名。 然而,现在我收到的垃圾邮件中没有地址,还有“未公开收件人”。 看标题是没有任何帮助的。
所以从技术的angular度来看,我不得不怀疑……如果我发送一封电子邮件到我的个人域中的某个地址,并将其转发到我的Hotmail帐户,那么如果该地址是没有在标题中列出?
这是一个相当普遍的混乱的来源。 标准电子邮件传输中有两个地方可以指定to:地址 – 一次在“信封”中,一次在可见电子邮件标题中。
信封收件人地址是在SMTP交易过程中指定的,您将永远不会看到在此处设置的值。 它仅由SMTP服务器用于路由邮件。
电子邮件中的to:标头是可选的,这是您在hotmail帐户中看到的内容。
这是一个标准的SMTP交易的stream程:
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:之后指定的地址是信封收件人地址。 data之后在to:行中指定的地址是您的电子邮件客户端中显示的地址。 这两个值不必一致,如前所述,数据部分中的to:是可选的。
要添加到ErikA的答案:想想你通过邮寄的普通信。 你用一个信头在某种固定的文字上写下信件,里面包含发件人和收件人地址,主题行和其他信息。 这里显示了一个经典的例子: http : //en.wikipedia.org/wiki/File : Einstein_Szilard_p1.jpg 。 这对应于您的邮件客户端显示的电子邮件标题。
然后你把这封信写进信封里。 信中的信息对任何人都是不可见的,因为信被塞进信封里。 你必须在信封上写上发信人和收信人地址,以便邮局能够发信。 这对应于SMTP信封标题。
如果信封上的信息不正确,邮局将不能也不会寄出这封信。 SMTP的行为是一样的。
但是,如果实际的信件本身不包含正确的信笺抬头,则不会有真正的后果。 当然,收件人不会很高兴,你的信会被认为是不好的forms,但是这并不影响邮寄信件的能力。 post只看信封,而不看实际的信件本身。 通过SMTP传送电子邮件的方式也是一样的。 它甚至使用类似的术语。
因此,您可以在收件箱中find没有正确电子邮件标题的电子邮件,例如收件人: , 发件人或主题: 。 重要的是SMTP信封头。 没有其他的。