Smtp 电子邮件标题中的订单是否指示每个邮件插入了哪个MTA?

Smtp 电子邮件标题中的订单是否指示每个邮件插入了哪个MTA?,smtp,email-headers,Smtp,Email Headers,我试图分析邮件头,以确定哪个元素(MUA、MTA…)创建了每个邮件头。我的假设是: 发送方MUA组成正文(包括内容类型、Mime、内容传输编码),并通过SMTP将其发送到发送方边界MTA。MUA提供此MTA插入的初始标头(从、到、回复到)的信息 此MTA插入MessageID和返回路径(以及它所需的所有额外标头和X标头) 然后它开始“希望”。在每个跃点上,接收MTA插入“Received:”头和它考虑的每个其他头 如果保持顺序,并且每个MTA在邮件顶部插入其标题,那么应该很容易确定哪个MTA

我试图分析邮件头,以确定哪个元素(MUA、MTA…)创建了每个邮件头。我的假设是:

  • 发送方MUA组成正文(包括内容类型、Mime、内容传输编码),并通过SMTP将其发送到发送方边界MTA。MUA提供此MTA插入的初始标头(从、到、回复到)的信息
  • 此MTA插入MessageID和返回路径(以及它所需的所有额外标头和X标头)
  • 然后它开始“希望”。在每个跃点上,接收MTA插入“Received:”头和它考虑的每个其他头
如果保持顺序,并且每个MTA在邮件顶部插入其标题,那么应该很容易确定哪个MTA插入了每个标题。。。但是我找不到一个有效的方案

  • 字段,如DKIM签名、身份验证结果、收到的SPF。。。出现在不同的地方。哪个MTA创建了每个?谁是DKIM在电子邮件上签名(我想一定是发件人边界MTA)谁是SPF-DKIM-DMARC的认证人
  • 添加了很多X-Header,其中许多与垃圾邮件控制有关,我找不到每个X-Header创建的是哪一个MTA(使用hop)
您能帮助我吗?

MUA(邮件用户代理,邮件客户端的RFC术语)将添加您在电子邮件客户端中可以看到的大多数头,特别是
从:
到:
。(当某人的通讯簿中有某人的“有趣”昵称时,或者当“发件人:”和SMTP信封发件人(如
邮件发件人:
命令)不一致时,您有时可以在
收件人:
标题中看到这一点,即使may服务器会拒绝此类邮件,因为这通常是垃圾邮件指示器。)MUA还将
回复设置为:
标题,特别是如果MUA实际上是一个客户管理系统。MTA(邮件传输代理,实际SMTP服务器)可能包含跳出信息()

然后,MUA将消息提交给MTA。每个程序(邮件服务器、防火墙等)都可以添加邮件头。例如,MTA通常会执行DKIM签名(并添加相关的头)。它预先发送
已接收:
标题(即,将其放在顶部),并且不得与其他
已接收:
标题混淆。不过,像防火墙这样的一些程序可能会弄乱报头

例如,当一封电子邮件在邮件列表的上下文中重新发送时,您可以看到多个DKIM签名(请参阅)。您可以在列表中看到原始发件人的DKIM签名,然后在邮件列表服务器将其发送给最终收件人时看到更多的头,包括一个额外的DKIM头

至于
X-…
头:这些是非标准头(因此是
X-
前缀)。这里一切都完了。一些发送MTA的人出于跟踪目的(例如,在他们的客户中捕获垃圾邮件发送者)插入它们,一些邮件接收者将他们的垃圾邮件评估放在一个特殊的x头中。即使是MUA也可能在电子邮件中添加一些x-header,例如,Claws Mail会为邮件来源的帐户添加一个标题,以及邮件下载的时间,等等。您可能信任这些,也可能不信任这些,事实上,MUA可能具有指示其应信任的x头的设置

就这一点而言,即使是身份验证结果报头等也可以出现在沿途的任何地方。即使是最初的发件人也可以像一些反病毒程序一样添加一个,以表明他们扫描了发送的邮件。同样,由接收者决定是否信任这些头。显然,您希望离您最近的邮件服务器执行DKIM检查和任何与身份验证相关的操作,因为您可以相信该服务器的判断

那个么,订单是否指明了哪位邮递员插入了邮件头?是的,但是。。。邮件服务器可能符合RFC的所有部分,也可能不符合RFC的所有部分,许多邮件服务器遵循RFC的要求,并且在接受内容方面有所宽容