我运行的邮件服务器似乎可以正确处理设置了 SPF 的电子邮件 - 但是我已经开始收到声称来自银行的虚假电子邮件 - 发件人地址设置为银行 - 但绝对不是来自银行。
邮件的相关标题如下:
Delivered-To: me@mydomain.name
Received: from mail.mydomain.org (localhost [127.0.0.1])
by mail.mydomain.org (Postfix) with ESMTP id AD4BB80D87
for <user@mydomain.com>; Thu, 13 Oct 2016 20:04:01 +1300 (NZDT)
Received-SPF: none (www.tchile.com: No applicable sender policy available) receiver=mydomain.org; identity=mailfrom; envelope-from="apache@www.tchile.com"; helo=www.tchile.com; client-ip=200.6.122.202
Received: from www.tchile.com (www.tchile.com [200.6.122.202])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by mail.mydomain.org (Postfix) with ESMTPS id 40F6080B9F
for <user@mydomain.com>; Thu, 13 Oct 2016 20:03:57 +1300 (NZDT)
Received: from …Run Code Online (Sandbox Code Playgroud) 假设我有一个域 (company.com),其 SPF 如下所示:
v=spf1 ip4:70.70.70.70 include:host.marketing.com -all
Run Code Online (Sandbox Code Playgroud)
和“host.marketing.com”看起来像这样
v=spf1 ip4:8.8.8.8 ~all
Run Code Online (Sandbox Code Playgroud)
对于 company.com,“~”或“-”哪个优先?营销公司 SPF 中的波浪号是否否定了 company.com 的所有 SPF 收益?
这种行为在所有 SPF 解析器中是否一致?
我的 Gmail 有问题。
它是在我们的一台受木马感染的 PC 从我们的 IP 地址发送垃圾邮件一天后开始的。
我们已经解决了这个问题,但我们进入了 3 个黑名单。我们也解决了这个问题。但是每次我们向 Gmail 发送电子邮件时,邮件都会被拒绝:
所以我再次检查了 Google Bulk Sender 的指南,发现我们的 SPF 记录中存在错误并修复了它。谷歌说一段时间后一切都会好起来的,但这并没有发生。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"
Run Code Online (Sandbox Code Playgroud)
(我设置 ~all 仅用于测试目的,之前是 -all)
这些记录是针对我们公司 Exchange 2003 服务器的,地址为 82.209.198.147。它的 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"
Run Code Online (Sandbox Code Playgroud)
据我所知,SPF 验证应该以这种方式通过:Out server s2 连接到接收方的 MX …
由于一些非常荒谬的管理原因,我们在 Office365 上有一个带有一个邮箱的拆分域,这需要我们添加include:outlook.com到我们的 SPF 记录中。问题在于,仅该规则就需要9 次DNS 查找,最多 10 次。
说真的,这太可怕了。看看吧:
v=spf1
include:spf-a.outlook.com
include:spf-b.outlook.com
ip4:157.55.9.128/25
include:spfa.bigfish.com
include:spfb.bigfish.com
include:spfc.bigfish.com
include:spf-a.hotmail.com
include:_spf-ssg-b.microsoft.com
include:_spf-ssg-c.microsoft.com
~all
Run Code Online (Sandbox Code Playgroud)
既然我们有我们自己的大十岁上下的邮件系统,我们需要有规则a,mx,include:_spf1.mydomain.com,和include:_spf2.mydomain.com这使我们在13 DNS查找其原因PERMERRORs的严格SPF验证,并与非严格/妥善执行验证完全不可靠/不可预测的验证.
是否有可能以某种方式include:从臃肿的 Outlook.com 记录中消除其中 3 条规则,但仍涵盖 O365 使用的服务器?
评论者提到我们应该简单地使用较短的spf.protection.outlook.com记录。虽然这是新闻对我来说,这是更短,这只是一个记录短:
spf.protection.outlook.com
include:spf-a.outlook.com
include:spf-b.outlook.com
include:spf-c.outlook.com
include:spf.messaging.microsoft.com
include:spfa.frontbridge.com
include:spfb.frontbridge.com
include:spfc.frontbridge.com
Run Code Online (Sandbox Code Playgroud)
我想我们可以在技术上将其缩减为:
v=spf1 a mx include:_spf1.mydomain.com include:_spf2.mydomain.com include:spf-a.outlook.com include:spf-b.outlook.com include:spf-c.outlook.com include:spfa.frontbridge.com include:spfb.frontbridge.com include:spfc.frontbridge.com ~all
Run Code Online (Sandbox Code Playgroud)
但我看到的潜在问题是:
spf.protection.outlook.com和 …在我的 SPF 记录中使用Fail 和 SoftFail 的优缺点是什么?
早在 2007 年,知识渊博的人似乎就说 SoftFail 只是为了测试,并鼓励在您正确设置所有内容后将其更改为拒绝(此处和此处)
该论坛帖子称 SoftFail“配置错误”,但随后表示 Google 使用了它。我信任 Google 的最佳实践,而不是随机的论坛海报!我查了一下,确实,Gmail~all在他们的 SPF 记录中使用了(一个 SoftFail)。
在发件人方面,电子邮件送达率专家似乎鼓励使用 SoftFail:
失败“[比 SoftFail] 更具侵略性,并且众所周知会产生比解决的问题更多的问题(我们不推荐这样做)。”
那比较含糊。
“我通常建议
~all为我的客户发布记录。发布 -all 并没有太大的好处,有时邮件会被转发。有一次我推荐 -all 记录是当域被伪造为垃圾邮件时。域伪造可能会导致很多退回。退回的数量可能足以关闭邮件服务器,尤其是那些用户群较小的服务器。许多 ISP 会在发回退回之前检查 SPF,因此 -all 记录可以减少对域的反吹量主人必须处理。”— 电子邮件送达率顾问Word to the Wise
然而,网站管理员如何知道是否存在大量域伪造?为最坏的情况做准备并提前预测伪造不是最佳做法吗?
在接收端,从事企业垃圾邮件过滤工作的Terry Zink为防止网络钓鱼电子邮件通过的 hard Fail提供了强有力的案例,并表示大多数人使用 SoftFail 是因为组织更害怕电子邮件丢失而不是伪造电子邮件。SPF SoftFails 将伪造的网络钓鱼电子邮件实际发送到某人的收件箱的可能性有多大?
如果我通过 SMTP 发送邮件,我知道是 IONOS 签署了这些电子邮件,对吗?
我想将 DKIM 标头添加到我的电子邮件中。我知道有必要使用公钥发布 CNAME 记录,但如果我不使用第三方服务,我知道 ionos 必须拥有该私钥,因此向我提供公钥。
如果 ionos 没有向我提供公钥,我该怎么办?由于 IONOS 负责使用私钥对邮件进行签名并添加 DKIM 标头,如果他们不给我公钥,那么解决方案是什么或者方法有问题吗?
有人有类似的东西吗?我应该向 IONOS 发送电子邮件请求公钥吗?
当使用https://dkimvalidator.com/等工具验证 DKIM、SPF、DMARC 等配置以从 Web 服务器发送邮件时,我收到如下警告:
0.0 SPF_HELO_NONE SPF:HELO 不发布 SPF 记录
尽管分数并未真正受到影响,但这似乎是一个不好的信号。我该如何摆脱它?
查询我的域我得到:
The TXT records found for your domain are:
v=spf1 ip4:50.22.72.198 a mx:wordswithfriends.net ~all
Run Code Online (Sandbox Code Playgroud)
所以表面上看起来还可以。但是我也收到以下消息
SPF 记录也应作为类型 SPF 记录在 DNS 中发布。
未找到类型 SPF 记录。
我想确保事情是绝对密封的。所以除了 TXT 记录我还想要一个纯 SPF 记录。但是我无法弄清楚格式。在 SPF 记录中放置相同的文本似乎不起作用。
编辑:
目前我有一个 TXT 记录但没有 SPF 记录。当我从 TXT 直接剪切并粘贴到 SPF 时,我遇到了某种疯狂的递归 DNS 错误,因此很快删除了 SPF。我只想知道正确的格式。复印
v=spf1 ip4:50.22.72.198 a mx:wordswithfriends.net ~all
Run Code Online (Sandbox Code Playgroud)
直接进入 SPF 记录不起作用。
我有一封邮件被 Gmail 拒绝了,我不知道为什么。它通过了SPF。我们没有使用 DKIM。我需要设置 DKIM 吗?
我控制着“example.com”。我们的邮件服务器是“server.example.com”(托管在 bluehost)
我们的 SPF 记录是
v=spf1 +a +mx ?include:bluehost.com -all
Run Code Online (Sandbox Code Playgroud)
但是 Gmail 拒绝了一封邮件:
由于 550-5.7.1 域的 DMARC 政策,来自 example.com 的 550-5.7.1 未经身份验证的电子邮件不被接受。请联系example.com管理员...
消息标题:
Return-path: <sabrina@example.com>
Received: from [99.127.228.246] (port=61813 helo=[192.168.1.66])
by server.example.com with esmtpsa (TLSv1:AES128-SHA:128)
(Exim 4.80.1)
(envelope-from <sabrina@example.com>)
id 1VMLM8-0007ok-5c; Wed, 18 Sep 2013 17:16:03 +0000
From: Sabrina <sabrina@example.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_2FE0763D-B160-49C4-8202-B8258851AFAD"
Subject: positive self thoughts/talk
Date: Wed, 18 Sep 2013 10:15:24 -0700
Message-Id: <D85DC2BA-0E8A-4AF6-9C54-203C52E996F2@example.com>
To: Tanja Schulte-Irwin <tanjaschulte@gmail.com>,
Zachary Bloom <zbloom@sffriendsschool.org>
Mime-Version: …Run Code Online (Sandbox Code Playgroud) 我同时使用 mailgun 和 namecheap 邮件服务器(我也有我的域),当我在我的 gmail 帐户中接收邮件时,mailgun 被识别为允许的发件人,但 namecheap 并非如此。这就是我得到的:
Received-SPF: softfail (google.com: domain of transitioning xx@mydomain does not design ... as allowed sender)
我的 DNS 中有以下 TXT 记录
v=spf1 mx include:mailgun.org ~all
Run Code Online (Sandbox Code Playgroud)
这是一个 IPv4,我在 serverfault 中阅读了一些其他帖子,但运气不佳,因此将不胜感激。
编辑
如前所述这里,Namecheap私人邮件设置了MX自动记录,他们没有在DNS记录表上显示,我想这事做的事实,当我有MX记录,没有被认作为允许发件人spf。