我希望在为我的客户设置邮件时更加自信地避免误报。这是我所知道的:
SPF 记录很好,但并非每个垃圾邮件过滤服务/软件 (SFSS) 都使用它们。
反向 DNS (PTR) 记录几乎是必需的。
开路继电器不好。
(这是我读过的“其他提示”):
邮件服务器 IP 地址的反向查找应该解析为您发送邮件的域。
在与其他邮件服务器通话时,您的服务器应该说 HELO FQDN.of.your.mail.server.com。
MX 记录中的 A 主机记录应该是(或解析为 IP 地址)您的 FQDN.of.your.mail.server.com
对 1 和 3 感觉很好。这是我想澄清/建议的地方:
2 和 4:我做了很多挖掘,这似乎是不正确的,因为大多数垃圾邮件过滤器都在寻找一般的 PTR,而且不是由 ISP 分配的;您发送邮件的域似乎与此无关(即,如果您拥有两个用于邮件的域,则需要从两个 IP 地址分别发送带有 PTR 的域?)
这是有道理的,但它是否关心 FQDN 解析为什么?它是否应该解析为当前发送所述 HELO 的 IP 地址?
再次,来自各种谷歌搜索的另一个;如果您使用 Postini 作为网关服务(或与此相关的任何其他智能主机),则看不出这将如何工作。
代表另一个您没有权威的域发送怎么样?我有一些客户端 (some.branchdomain.tld) 需要以@some.corporatedomain.tld 的身份发送邮件,尽管上述公司总部不会设置中继/智能主机供他们使用。corporatedomain.tld 可以创建 SPF 记录以显示 some.branchdomain.tld 被允许发送邮件,但这是否仍会考虑“欺骗”,尤其是如果说 SFSS 不检查 SPF 记录?我应该担心这个吗?
我的理解是 SPF 规范指定电子邮件接收者不应进行 10 次以上的 DNS 查找,以便为发件人收集所有允许的 IP。因此,如果一个 SPF 记录有include:foo.com include:bar.com include:baz.com并且这三个域每个都有 SPF 记录并且也有 3include个条目,那么现在我们最多可以进行 3+3+3+3=12 个 DNS 查找。
我上面的理解正确吗?
我只为我的域使用 2 或 3 个服务,而且我已经超过了这个限制。主要/次要电子邮件提供商通常(或曾经)强制执行此限制吗?
我很抱歉这个模糊的标题。我不完全明白为什么 SPF 和 DKIM 应该一起使用。
第一:如果发件人或 DNS 被“欺骗”,SPF 可以通过它应该失败的地方,如果涉及代理和转发器的一些高级设置,它可能会在应该通过的地方失败。
DKIM 可以通过它应该失败的地方,要么是因为密码学中的错误/弱点(我们排除了这一点,因此简化点),要么因为 DNS 查询被欺骗。
由于排除了密码学错误,不同之处(如我所见)在于 DKIM 可用于 SPF 失败的设置。我想不出任何可以从两者中受益的例子。如果设置允许 SPF,则 DIKM 不应添加任何额外的验证。
任何人都可以举一个使用两者的好处的例子吗?
我们最近开始将 Office 365 用于我们的电子邮件,这要求我们添加值为 的 DNS TXT 记录v=spf1 include:spf.protection.outlook.com -all。我们已经有一个SPF包含v=spf1 include:spf.mandrillapp.com ?allMandrill值的记录,我们也使用了一个 SMTP 发件人。

我担心这可能会引起一些冲突。我的担心是有效的还是对这两个 SPF 记录没问题?
添加第二条 SPF 记录会弄乱我的 DNS,还是会像添加额外的名称服务器一样?
(即它只帮助,不伤害)
最终编辑:我对 DKIM 的看法似乎完全错误,签名域不必与发件人域相同,因此我的问题的整个前提是有缺陷的。非常感谢保罗指出我的错误!
原问题如下:
我曾尝试阅读 SPF 和 DKIM,但我不明白同时使用两者的意义,至少在打击垃圾邮件的背景下(伪造的发件人地址,这可能导致我的电子邮件服务器/域被列入黑名单)。据我所知,只有 DKIM 才能完成 SPF 应该完成的工作。
到目前为止,我的理解如下:
我不明白的是:除非 DKIM 私钥以某种方式被泄露,否则仅 DKIM 验证就足以验证电子邮件是从授权的电子邮件服务器发送的,否则电子邮件服务器将无法用于签署电子邮件的私钥。
我在这里看到了一个非常相似的问题的答案:https : //serverfault.com/a/780248/154775,作者在其中声称 DKIM 无法防止重放攻击。我承认这一点,但我发现这是一个非常极端的案例,我认为迄今为止最大的问题是带有虚假发件人地址的垃圾邮件 - DKIM 应该很容易地防止这种情况发生。
与仅 DKIM 相比,是否存在重放攻击之外的场景,其中 SPF 提供额外保护?
编辑:我用粗体标记了我的问题的核心,以澄清我到底想要什么答案。
远程收件人域以 SPF 为由拒绝邮件,我认为这是因为发件人的 SPF 配置不正确。
当我运行 dig 时,我看到:
[fooadm@box ~]# dig @8.8.8.8 -t TXT foosender.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> @8.8.8.8 -t TXT foosender.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30608
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;foosender.com. IN TXT
;; ANSWER SECTION:
foosender.com. 14039 IN TXT "v=spf1 include:spf.foo1.com -all"
foosender.com. 14039 IN TXT "v=spf1 include:_spf.bob.foo2.com -all"
;; …Run Code Online (Sandbox Code Playgroud) 我正在为我的域设置 SPF 记录,但没有得到我期望的结果。我很可能犯了某种错误,但首先我想问:我对 SPF 记录所做的更改是否需要时间才能传播?
我为某人创建了网站,但也有人(我猜是 SEO 人员)告诉此人我犯了一个大错误,因为域(mx、SPF、dmarc)上缺少 DNS 记录。现在我需要“修复”我的错误。
事情是,当然,这些记录用于电子邮件目的,但此域中没有电子邮件(只是简单的免费 Gmail 帐户)。
那么,是否有任何理由添加这些记录呢?他们应该是什么样子?我能想到的唯一原因是使用我的域身份防止垃圾邮件。但是我认为如果这些记录丢失,垃圾邮件过滤器无论如何都不会从我的域中传递电子邮件,那么有什么意义呢?
spf ×10
email ×5
spam ×3
dkim ×2
mx-record ×2
dmarc ×1
email-server ×1
latency ×1
reverse-dns ×1
security ×1
spam-filter ×1