为什么我的服务器主机名显示在从其他域发送的Exim电子邮件标题中?

我的服务器发送的SMTP电子邮件遇到了一些问题,使用Exim发送的域被某些其他域阻止了,这可能部分是由于某些服务器设置跳过某些可选的严格MessageLabsfilter 。 其中一个问题是,我的电子邮件使用服务器主机名作为HELO而不是邮件服务器,导致与我已经修复的相应MXlogging不匹配。

但是,检查我的新电子邮件标题,服务器主机名仍然在那里(例如下面的标题),在用于组成电子邮件的PC的DKIM签名和PC名称和IP地址之后,以及对esmtpsa引用。

在这个头文件中出现的主机名的含义和作用是什么?

对于通过Exim发送的这种电子邮件,这种预期行为还是可能被视为域名不匹配的怪癖,并表示该电子邮件可能不合法?

基于它接近我esmtpsa的电子邮件的IP地址和名称,以及对esmtpsa引用,我怀疑这与SMTPvalidation有关,可能会跟踪发送电子邮件所涉及的每个框,以确认没有被感染的僵尸networking或类似的,但这只是我的猜测。 我非常热衷于使用SMTP身份validation所做的一切,因为我最近遇到的问题是跳闸了一些联系人使用的非常严格的公司filter。


以下是一个电子邮件标题示例 ,表示我当前的EXIM设置正在生成,取自Outlook中发送的邮件并发送到Gmail。 不幸的是,我不能大胆的相关的行,但你可以CTRL-F到server.my-host-domain.com ,这是唯一的发生:

 Delivered-To: [email protected] Received: by XX.XX.XX.XX with SMTP id b67csp2867807oig; Thu, 25 Feb 2016 01:29:56 -0800 (PST) X-Received: by YY.YY.YY.YY with SMTP id c144mr20309773oib.108.1456392596947; Thu, 25 Feb 2016 01:29:56 -0800 (PST) Return-Path: <[email protected]> Received: from mail.my-domain.com (mail.my-domain.com. [MY.DOM.AIN.IP]) by mx.google.com with ESMTPS id t83si5898326oig.81.2016.02.25.01.29.56 for <[email protected]> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Feb 2016 01:29:56 -0800 (PST) Received-SPF: pass (google.com: domain of [email protected] designates MY.DOM.AIN.IP as permitted sender) client-ip=MY.DOM.AIN.IP; Authentication-Results: mx.google.com; spf=pass (google.com: domain of [email protected] designates MY.DOM.AIN.IP as permitted sender) [email protected]; dkim=pass [email protected] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=my-domain.com; s=mail; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From; bh=tYDwf48ibFqt0fGVMwP/XE776YX3eIVAbPEdH+zTGMs=; b=vhicxFvzf3hvv8fYxOfb7tgzWK3Sk8f7OUCm8v2CBiUH/GX9ddDIhDPNwxnIhExHbwHdj7/TqpgTMOXPekIsqRRDNT/j5mofqWfuvj9l4+7Lqb3/pxDmj+QSx+89hJu8msOvfnix/SKtv2Kf1OFHRi63LxZjGM/1+xuCBfrLrzM=; Received: from [MY.PC'S.IP.ADDR] (helo=PCname) by server.my-host-domain.com with esmtpsa (UNKNOWN:AES256-GCM-SHA384:256) (Exim 4.72) (envelope-from <mail.my-domain.com>) id 1aYsF8-00020u-H6 for [email protected]; Thu, 25 Feb 2016 09:29:55 +0000 From: "My Name" <[email protected]> To: <[email protected]> Subject: Test email Date: Thu, 25 Feb 2016 09:29:48 -0000 Message-ID: <[email protected]> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0016_01D16FAF.154AAB30" X-Mailer: Microsoft Outlook 16.0 Thread-Index: AdFvrvTde9zi+r6IQ3OmsfVq1pbzow== Content-Language: en-gb 

我特别想知道是否有服务器主机名在这里出现任何问题,不匹配的mxHELO和域。 理想情况下,我希望域my-domain.com和域my-host-domain.com彼此完全独立,因为对于我在同一个框中pipe理的所有域,它们代表不同的独立操作,但如果服务器主机名出现在电子邮件标题的这一点上是有好处的,或者没有什么坏处,我很乐意在这里妥协。

虽然我当然欢迎有关如何解决这个问题的任何提示,如果确实是应该解决的问题,那么Exim以这种我最感兴趣的方式生成这个电子邮件标题的意义和意义。我可以在我的EXIM设置中改变这一点,但我想了解做出这样的改变的意义。


Centos Linux VPS,带Dovecot的Exim 4.72。 XX.XX.XX.XXYY.YY.YY.YY代表两个我不认识的IP地址,并且找不到有关whois有用信息,我假设他们与Google的邮件服务器有关接收方。

看来你对这两个Received头域之间的区别感兴趣。 最重要的一个:

 Received: from mail.my-domain.com (mail.my-domain.com. [MY.DOM.AIN.IP]) by mx.google.com with ESMTPS id ... 

只是接收邮件服务器首先logging您的Exim邮件服务器在连接时使用的主机名的结果。 (您可以使用primary_hostname= Exim设置来设置该主机名)。

)之间是根据您的SMTP连接发起的IP地址执行的反向DNS查找mx.google.com的结果主机名和IP地址。

由于主机名Exim使用匹配,所以你的反向DNSlogging如何解决一切都很好。

随后的标题由您自己的Exim邮件服务器logging:

 Received: from [MY.PC'S.IP.ADDR] (helo=PCname) by server.my-host-domain.com with esmtpsa ... 

并包含类似的信息。 helo=PCname源于SMTP协议,通过让客户端标识heloehlo动词来启动新的SMTP连接。 对于运行Outlook的PC,可能没有“正确的”反向DNSlogging,因此只有您的IP地址被logging。
by server.my-host-domain.com是exim标识哪个local_interfaces收到的SMTP连接,即哪个IP地址,但转换为主机名。

如果您的服务器只有一个IP地址:在您自己的服务器上查找返回与您的实际反向DNSlogging不同的主机名的事实很可能是由于/etc/hosts外部IP地址条目导致的。 您可以通过比较dig -x <ip-address>getent hosts <ip-address>

另请参阅关于修改Received头的问答 。

从未使用Exim自己,但环顾四周,发现这一点:

尝试编辑exim.conf(可能位于/etc/exim.conf)。 将“local_from_check”从true更改为false。 然后继续用drupal发送一封邮件,看看它是否有效,它为我做了。 这个原因是因为Exim会修改“发件人:”标题,如果你的用户帐户不是“可信”的。

https://www.drupal.org/node/285486