我注意到一些邮件头联系了一个名为的字段received : from
,它包含一个 IP 地址。
即使他正在使用 Web 界面或服务器,这个地址是否指的是发送方机器?
答案1
邮件从客户端开始,该客户端将其发送到服务器。如果服务器必须将其移交给另一台服务器(因为它本身不为邮件需要发送到的域提供邮件服务),它会将其转发到负责该服务的服务器。然后该服务器将邮件添加received : from
到标头中。
例子:
Bart 创建一封电子邮件并将其交给 mydomain.com 的邮件服务器。此服务器查看目标地址并发现它是yourdomain.com
。此服务器不提供 的邮件yourdomain.com
。它必须通过 MX 记录查找提供 服务的服务器yourdomain.com
,然后将邮件转发给它。
当的邮件服务器yourdomain.com
收到邮件后,他会将received : from mail.mydomain.com
其添加并投递到sohaibafifi
的邮箱,或者如果需要的话,将其交给另一台服务器。
此类链的示例:
Received: by 10.42.195.134 with SMTP id ec6csp80279icb;
Tue, 19 Jun 2012 00:45:09 -0700 (PDT)
Received: by 10.180.103.42 with SMTP id ft10mr929660wib.18.1340091908492;
Tue, 19 Jun 2012 00:45:08 -0700 (PDT)
Received: from barracuda2.infraxnet.be (mail2.infraxnet.be. [78.24.168.38])
by mx.google.com with ESMTP id c73si24136496wec.20.2012.06.19.00.45.07;
Tue, 19 Jun 2012 00:45:08 -0700 (PDT)
您应该从下至上阅读这些内容。
答案2
除了 @Bart De Vos 所说的内容之外,即使是第一个接收消息的邮件服务器,即贵组织的主服务器,也会添加一个 Received: from 标头,指示发送消息的客户端。对于 Web 邮件界面 (webmail),发送消息的客户端是托管 WebMail 应用程序的服务器。通常会记录客户端的 IP 地址和名称,但如果无法发现名称 (DNS),则可以仅记录 IP 地址。例如,我的服务器 (postfix) 会这样记录
Received: from [10.16.16.63] (client.inmydomain [10.16.16.63]) .....
本质上,通过上述方法,可以追溯到消息的来源以及它经过的路线(中继)。不过请注意,有办法修改这些记录。
答案3
我刚刚为你做了测试:
我首先从 Outlook 向 Gmail 发送了一封电子邮件,然后从 Hotmail Web 界面发送了一封电子邮件。结果如下:
从我的角度来看:
Received: from 20.20-200-80.adsl-dyn.isp.belgacom.be (HELO jameson) ([80.200.20.20])
by relay.skynet.be with ESMTP; 19 Jun 2012 09:45:24 +0200
来自 hotmail:
Received: from BAY162-W38 ([65.54.190.201]) by bay0-omc4-s7.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675);
正如您所看到的,当我从 hotmail 网络界面发送电子邮件时,其中没有包含我电脑的 IP。