我在使用 Gmail 时遇到了问题。
事情的起因是我们的一台受木马感染的 PC 从我们的 IP 地址连续发送了一天垃圾邮件。
我们已经解决了这个问题,但我们被列入了 3 个黑名单。我们也解决了这个问题。但每次我们向 Gmail 发送电子邮件时,邮件仍然会被拒绝:
所以我再次检查了 Google Bulk Sender 的指南,发现我们的 SPF 记录中有一个错误并进行了修复。Google 说一段时间后一切都会好起来,但事实并非如此。已经过去了 3 周,但我们仍然无法向 Gmail 发送电子邮件。
我们的 MX 设置有点复杂,但也不是太多:我们有一个域名 delo-company.com,它有自己的邮件 @delo-company.com(这个很好,但问题出在子域名 corp.delo-company.com)。
Delo-company.com 域名有多个子域名的 DNS 记录:
corp A 82.209.198.147
corp MX 20 corp.delo-company.com
corp.delo-company.com TXT "v=spf1 ip4:82.209.198.147 ~all"
(我设置 ~all 只是为了测试目的,在此之前是 -all)
这些记录适用于我们公司位于 82.209.198.147 的 Exchange 2003 服务器。其 LAN 名称为 s2.corp.delo-company.com,因此其 HELO/EHLO 问候语也是 s2.corp.delo-company.com。
为了通过 EHLO 检查,我们还在 delo-company.com 的 DNS 中创建了一些记录:
s2.corp A 82.209.198.147
s2.corp.delo-company.com TXT "v=spf1 ip4:82.209.198.147 ~all"
据我了解,SPF 验证应按以下方式传递:外部服务器 s2 连接到接收方 (Rcp.MX) 的 MX:EHLO s2.corp.delo-company.com Rcp.MX 说“Ok”,并对 HELO/EHLO 进行 SPF 检查。它对 s2.corp.delo-company.com 执行 NSlookup 并获取上述 DNS 记录。TXT 记录表明 s2.corp.delo-company.com 应该仅来自 IP 82.209.198.147。因此它应该通过。
然后我们的 s2 服务器说 RCPT FROM: Rcp.MX` 服务器也会检查它。值相同,因此它们也应该是正数。
也许还有 rDNS 检查,但我不确定检查的是 HELO 还是 RCPT FROM。
我们对 82.209.198.147 的 PTR 记录是:
147.198.209.82.in-addr.arpa. 86400 IN PTR s2.corp.delo-company.com.
对我来说一切看起来都很好,但无论如何所有电子邮件都被 Gmail 拒绝。
因此,我检查了 MXtoolbox.com - 它说一切正常,我通过了http://www.kitterman.com/spf/validate.htmlPython 检查,我做了 25port.com 电子邮件测试。也是没问题的:
Return-Path: <[email protected]>
Received: from s2.corp.delo-company.com (82.209.198.147) by verifier.port25.com id ha45na11u9cs for <[email protected]>; Fri, 2 Mar 2012 13:03:21 -0500 (envelope-from <[email protected]>)
Authentication-Results: verifier.port25.com; spf=pass [email protected]
Authentication-Results: verifier.port25.com; domainkeys=neutral (message not signed) [email protected]
Authentication-Results: verifier.port25.com; dkim=neutral (message not signed)
Authentication-Results: verifier.port25.com; sender-id=pass [email protected]
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01CCF89E.BE02A069"
Subject: test
Date: Fri, 2 Mar 2012 21:03:15 +0300
X-MimeOLE: Produced By Microsoft Exchange V6.5
Message-ID: <[email protected]>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: test
Thread-Index: Acz4jS34oznvbyFQR4S5rXsNQFvTdg==
From: =?koi8-r?B?89XQ0tXOwMsg8MHXxcw=?= <[email protected]>
To: <[email protected]>
我也检查过[电子邮件保护],但无论我创建哪些 SPF 记录,它都会始终失败:
<s2.corp.delo-company.com #5.7.1 smtp;550 5.7.1 <[email protected]>: Recipient address rejected: SPF Tests: Mail-From Result="softfail": Mail From="[email protected]" HELO name="s2.corp.delo-company.com" HELO Result="softfail" Remote IP="82.209.198.147">
我已经填写了两次 Gmail 表格,但什么也没发生。
我们不发送垃圾邮件,只为客户发送电子邮件。我们曾 2 到 3 次从 corp.delo-company.com 地址发送群发电子邮件(如新年问候和促销活动),但它们都符合 Gmail 群发发件人指南(我的意思是 SPF、开放中继、优先级:群发和取消订阅标签)。所以,这应该不是问题。
请帮帮我。我做错了什么?
更新:我也尝试了 Unlocktheinbox.com 测试,但服务器也未通过该测试。这里是结果;这里还有一个。
我还尝试通过 telnet 手动从该服务器发送电子邮件,一切正常。以下是我输入的内容:
220 mx.google.com ESMTP g15si4811326anb.170
HELO s2.corp.delo-company.com
250 mx.google.com at your service
MAIL FROM: <[email protected]>
250 2.1.0 OK g15si4811326anb.170
RCPT TO: <[email protected]>
250 2.1.5 OK g15si4811326anb.170
DATA
354 Go ahead g15si4811326anb.170
From: [email protected]
To: Pavel <[email protected]>
Subject: Test 28
This is telnet test
.
250 2.0.0 OK 1330795021 g15si4811326anb.170
QUIT
221 2.0.0 closing connection g15si4811326anb.170
这就是我得到的:
Delivered-To: [email protected]
Received: by 10.227.132.73 with SMTP id a9csp96864wbt;
Sat, 3 Mar 2012 09:17:02 -0800 (PST)
Received: by 10.101.128.12 with SMTP id f12mr4837125ann.49.1330795021572;
Sat, 03 Mar 2012 09:17:01 -0800 (PST)
Return-Path: <[email protected]>
Received: from s2.corp.delo-company.com (s2.corp.delo-company.com. [82.209.198.147])
by mx.google.com with SMTP id g15si4811326anb.170.2012.03.03.09.15.59;
Sat, 03 Mar 2012 09:17:00 -0800 (PST)
Received-SPF: pass (google.com: domain of [email protected] designates 82.209.198.147 as permitted sender) client-ip=82.209.198.147;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of [email protected] designates 82.209.198.147 as permitted sender) [email protected]
Date: Sat, 03 Mar 2012 09:17:00 -0800 (PST)
Message-Id: <[email protected]>
From: [email protected]
To: Pavel <[email protected]>
Subject: Test 28
This is telnet test
答案1
微软有一个很棒的向导。也许它可以建议一些更改?
http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/
答案2
经过 50 天的尝试和谷歌搜索,Gmail 开始接受我们的电子邮件。它们以正常方式传递到收件箱(它们没有被标记为垃圾邮件)。
在过去 15 天里,我没有做任何更改或尝试。我不知道是官僚主义还是某些算法花了这么长时间,但在我看来,它花费的时间比实际时间长了 10 倍。对于我们薄弱的安全措施,5 天的惩罚已经足够了。
顺便说一句,unlocktheinbox.com 现在通过了测试,openspf.org 测试仍然报告失败。看来我的情况对于测试来说太复杂了。我会修复我的 PTR 和 HELO 名称以匹配域名。
然而,我们要求 ISP 更改 PTR 已经一周了,它仍然没有改变...又是一个官僚主义问题。
谢谢大家的帮助。
答案3
是不是因为您只使用 TXT 记录,而没有 SPF 类型的记录?
引用 RFC 4408:
大家认识到,当前的做法(使用 TXT 记录)并不是
最佳做法,但这是必要的,因为有许多
常用的 DNS 服务器和解析器实现无法处理
新的 RR 类型。双记录类型方案
为使用为此目的保留的 RR 类型的更好解决方案提供了一条前向路径。符合 SPF 的域名应具有两种 RR
类型的 SPF 记录。符合 SPF 的域名必须具有至少一种
类型的记录。如果域名具有两种类型的记录,则它们必须具有
相同的内容。