Zby*_*zek 7 ip gmail spf exim dovecot
我们有一个带有域的 linux (Debian) VPS(假设 example.com 和 MX mail.example.com)设置了 SPF。dovecot+exim 正在运行。除此之外还有直接管理员。
当我向外国服务器发送邮件时,一切都很好。消息中有服务器 IP,SPF 检查正常。
一些数据发生了变化(域等):
Received: from mail.example.com (mail.example.com. [188.40.153.39])
by mx.google.com with ESMTPS id ***.7.2015.02.18.04.09.46
for <*@gmail.com>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Wed, 18 Feb 2015 04:09:47 -0800 (PST)
Received-SPF: pass (google.com: domain of test@example.com designates 188.40.153.39 as permitted sender) client-ip=188.40.153.39;
Run Code Online (Sandbox Code Playgroud)
但是,当我将它从本地邮箱发送到另一个本地邮箱,然后通过 POP3 将邮件发送到 gmail 时,我遇到了 SPF 问题,因为邮件包含原始客户端 IP 地址并且 SPF 检查失败。
Authentication-Results: mx.google.com;
spf=fail (google.com: domain of test@example.com does not designate 82.160.100.10 as permitted sender) smtp.mail=test@example.com
Received-SPF: fail (google.com: domain of test@example.com does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;
Run Code Online (Sandbox Code Playgroud)
82.160.100.10 是原始发件人的 IP。
由于这个问题,我们的内部通信往往在 gmail 中被标记为垃圾邮件,以便通过它检查邮箱的人。
任何想法如何解决这个问题?
编辑:测试邮件的标题(更改了我们的 IP 和域)
1) 从一个盒子发送到另一个盒子的电子邮件 - 来自 Thunderbird 客户端的标题:
Return-path: <ldev@example.com>
Envelope-to: zbyszek@example.com
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
(Exim 4.83)
(envelope-from <ldev@example.com>)
id 1YOOPC-0005Ud-Qq
for zbyszek@example.com; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <54E5BDCE.5040207@example.com>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <ldev@example.com>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <zbyszek@example.com>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Run Code Online (Sandbox Code Playgroud)
2) gmail 收到后相同的邮件(通过 POP3 自动定期导入):
Delivered-To: *@gmail.com
Received: by 10.140.86.210 with SMTP id p76csp775880qgd;
Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Received: by 10.140.102.165 with SMTP id w34mr10762910qge.26.1424342832562;
Thu, 19 Feb 2015 02:47:12 -0800 (PST)
Authentication-Results: mx.google.com;
spf=fail (google.com: domain of ldev@example.com does not designate 82.160.100.10 as permitted sender) smtp.mail=ldev@example.com
Received-SPF: fail (google.com: domain of ldev@example.com does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;
Received: by 10.224.31.8 with POP3 id w8mf619596qac.5;
Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Gmail-Fetch-Info: zbyszek@example.com 2 mail.example.com 110 zbyszek@example.com
Return-path: <ldev@example.com>
Envelope-to: zbyszek@example.com
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
(Exim 4.83)
(envelope-from <ldev@example.com>)
id 1YOOXn-0005j5-Tm
for zbyszek@example.com; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <54E5BDCE.5040207@example.com>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <ldev@example.com>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <zbyszek@example.com>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Run Code Online (Sandbox Code Playgroud)
编辑:一些额外的信息
编辑:未发现的 IP 不是那么敏感
免责声明:在 GMail 人员确认之前,此答案只是猜测。
看起来是 GMail 在此处错误处理了您获取的电子邮件。有些人也在这里,这里或这里报告与您类似的情况
问题是:GMail 在通过 POP3 获取电子邮件后扫描电子邮件时也部署了 SPF 措施。
通常 SPF 检查通过检查发件人地址和客户端 IP 地址的域部分在 SMTP 事务中进行。但是在 POP3 中,GMail 必须解析标题并找到最后一个Received标题。
Received: from nat10.net08-g2.* ([*.160.100.10] helo=[11.0.0.22])
by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
(Exim 4.83)
(envelope-from <ldev@example.com>)
id 1YOOXn-0005j5-Tm
for zbyszek@example.com; Thu, 19 Feb 2015 11:41:20 +0100
Run Code Online (Sandbox Code Playgroud)
这是从您的服务器获取的原始电子邮件。它指出您的电子邮件接受来自*.160.100.10发件人 ldev@example.com 的电子邮件。在此阶段,Gmail 会伪装成您的服务器并检查发件人地址 (example.com) 和客户端 IP 地址 (*.160.100.10) 的域部分。结果是预期的:
SPF 软失败,因为 ldev@example.com 的域未将 *.160.100.10 指定为允许的发件人
解决方法是,您可以将 Gmail 过滤器设置为从不将您的电子邮件标记为垃圾邮件。
| 归档时间: |
|
| 查看次数: |
2867 次 |
| 最近记录: |