我为我的域设置了 SPF 记录,例如:
v=spf1 a mx include:mydomain.co.uk ?all
Run Code Online (Sandbox Code Playgroud)
但是,我现在必须为基于 Web 的发票系统添加 SPF 记录,该系统希望我将以下内容添加到我的 SPF 记录中:
v=spf1 mx ptr include:_spf.bidsketch.com ~all
Run Code Online (Sandbox Code Playgroud)
如果我将这两个按上述方式放置到同一个 SPF 记录中,它会在 mxtoolbox.com 上显示为格式错误。
所以我的问题是如何使用第二个/bidsketch 记录?
为此,我是否需要在同一个域上有单独的 SPF 记录?
或者,有没有办法将两者结合在一个记录中?
提前致谢。
设想:
mydomain.com是主要网站,我们使用 address@mydomain.com 发送/接收邮件。mydomain.com DNS 有一个 SPF 记录"v=spf1 a mx ~all"
mydomain.net只是mydomain.com的别名,但我们不使用 address@mydomain.net 发送邮件。因此,mydomain.net DNS 有一个 SPF 记录
"v=spf1 -all"来确认它不发送邮件的每个人
由于 mydomain.net 是 mydomain.com 的别名,我想在 DNS 中使用 CNAME,因此:
mydomain.net -> CNAME -> mydomain.com
www.mydomain.net -> CNAME -> mydomain.com
Run Code Online (Sandbox Code Playgroud)
但是通过这样做,我注意到当使用这样的 DNS 工具测试 mydomain.net的 SPF 时,返回的 SPF 是 mydomain.com 中的一个,"v=spf1 a mx ~all"而不是我所期望的"v=spf1 -all"
有没有办法通过仍然使用 CNAME 为两个域使用不同的 SPF
我们的一位客户收到来自他一位客户的拒绝邮件。发件人的 SPF 记录是:
v=spf1 +a +mx +ip4:12.34.56.78 ?all
Run Code Online (Sandbox Code Playgroud)
邮件不是来自 12.34.56.78,但 AFAIU '?all' 意味着我的邮件服务器(后缀)应该接受它。那是对的吗?
我是否可以更改我的“/etc/postfix-policyd-spf-python/policyd-spf.conf”以使其接受这些电子邮件,如果可以,如何更改?
我应该这样做吗?
FWIW py 错误日志中的消息是:
Message rejected due to: access neither permitted nor denied.
Run Code Online (Sandbox Code Playgroud)
提前致谢。
更新:
我的 SPF 政策是:
HELO_reject = SPF_Not_Pass
Mail_From_reject = Fail
Run Code Online (Sandbox Code Playgroud)
邮件在 HELO 阶段被拒绝,我现在已将其更改为“失败”。
我们正在从自托管邮件平台迁移到 Office365 for Business。一切都很顺利,除了 SPF 记录。目前,我们有v=spf1 a mx include:spf.mtasv.net -all作为 TXT 记录,但 Office365 也必须允许v=spf1 include:spf.protection.outlook.com -all。所以,我继续将它们合并到:v=spf1 a mx include:spf.mtasv.net include:spf.protection.outlook.com -all. 对照 studentkickoff.be 域检查此 SPF 记录时,结果为PermError SPF Permanent Error: Too many DNS lookups.
我的问题如下:如何解决此错误?我知道我可以用它们的ip4等价物替换一些记录,但是这样做时,Office365的在线疑难解答一直抱怨找不到记录:
提前致谢!
我已经能够让 SPF 通过我的 Postfix 服务器发送的所有电子邮件。但是对于只是将电子邮件重定向到我的 gmail id 的转发域,我在 SPF 中看到了软故障。
例如,如果我从 hotmail 帐户发送电子邮件到 contactus@workingwoman.org,那么它会被转发到测试电子邮件 ID ragraggupta8899@gmail.com。
我已经为我的主机名(host.tariffplans.com)以及所有域添加了 SPF 标头“spf1 a mx -all”。所有域/子域的 A 记录正确指向我的服务器 IP:23.239.30.81
但是在转发的电子邮件标头中 .. Google 将其显示为softfail。可能是什么问题呢?:
送达地址:rag.raggupta8899@gmail.com
收到: 10.114.96.70,SMTP id dq6csp51447ldb;
2014 年 7 月 19 日星期六 23:05:03 -0700 (PDT)
X 接收:由 10.182.65.66 和 SMTP id v2mr22896624obs.74.1405836302184;
2014 年 7 月 19 日星期六 23:05:02 -0700 (PDT)
返回路径:
收到:来自 host.tariffplans.com (tariffplans.com. [23.239.30.81])
作者:mx.google.com,ESMTPS id js4si25593503obc.98.2014.07.19.23.05.01
为了
(版本=TLSv1.1 密码=ECDHE-RSA-RC4-SHA 位=128/128);
2014 年 7 月 19 日星期六 23:05:02 … port25.com通过发送电子邮件到
check-auth@verifier.port25.com使用的漂亮小工具测试我的 SPF 记录时,我得到以下 FAIL 结果:
==========================================================
Details:
==========================================================
HELO hostname: avantgardeweb.co.uk
Source IP: 2002:2e20:e862::2e20:e862
mail-from: user@greenshieldsarchitecture.co.uk
----------------------------------------------------------
SPF check details:
----------------------------------------------------------
Result: fail (not permitted)
ID(s) verified: smtp.mailfrom=user@greenshieldsarchitecture.co.uk
DNS record(s):
greenshieldsarchitecture.co.uk. SPF (no records)
greenshieldsarchitecture.co.uk. 14400 IN TXT "v=spf1 mx a -all"
greenshieldsarchitecture.co.uk. 14400 IN MX 10 mail.greenshieldsarchitecture.co.uk.
mail.greenshieldsarchitecture.co.uk. AAAA (no records)
greenshieldsarchitecture.co.uk. AAAA (no records)
Run Code Online (Sandbox Code Playgroud)
但是,当我实际向 gmail 帐户发送电子邮件时,它会通过:
Received-SPF: pass (google.com: domain of user@greenshieldsarchitecture.co.uk designates 46.32.232.98 as permitted sender) client-ip=46.32.232.98;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of user@greenshieldsarchitecture.co.uk …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 postfix 配置为转发到 gmail。我已经成功地为我托管的域配置了虚拟别名,并且我想重定向,但是 Gmail SPF 验证由于这个原因而失败:
Delivered-To: realrcpt@gmail.com
Received: by 10.25.28.147 with SMTP id c141csp88155lfc;
Sat, 11 Oct 2014 09:08:40 -0700 (PDT)
X-Received: by 10.224.70.83 with SMTP id c19mr21300511qaj.66.1413043720159;
Sat, 11 Oct 2014 09:08:40 -0700 (PDT)
Return-Path: <realsender@gmail.com>
Received: from mail1.mycompany.com (mail1.mycompany.com. [2604:xxxxxxx:b5c8])
by mx.google.com with ESMTP id d63si16549011qgd.80.2014.10.11.09.08.39
for <realrcpt@gmail.com>;
Sat, 11 Oct 2014 09:08:40 -0700 (PDT)
Received-SPF: softfail (google.com: domain of transitioning realsender@gmail.com does not designate 2604:xxxxxxx:b5c8 as permitted sender) client-ip=2604:180:2:2cf::b5c
Run Code Online (Sandbox Code Playgroud)
我认为问题在于返回路径。当与另一个主机(例如 namecheap)进行电子邮件转发时,会自动重写为:
Return-Path: <SRS0+BJjl=7C=gmail.com=realsender@eforward3e.registrar-servers.com>
Run Code Online (Sandbox Code Playgroud)
有没有办法在 postfix …
我在 namecheap.com 上注册了一个域 (fiestyturtles.com),并托管在共享网络主机 (hostpc.com) 上。但是我已经将我的域的电子邮件处理转移到了谷歌应用程序,我想我是通过在我的网络主机的域设置中更改 MX 记录来修改记录来设置的。
我最近注意到,一些从 fiestyturtles.com 地址发送电子邮件的用户的发送被拒绝,如下所示:
550 Sender Authorization check failed - psmtp
我想我已经找到了这个“SPF”的东西。我不得不说我对它相当陌生,但我想我明白发生了什么 - 因为我认为域设置有一个指向我的网络主机服务器的 SPF 记录,而电子邮件来自谷歌的服务器。
最终,我当前的 SPF 记录是这样的,在我的虚拟主机上:
fiestyturtles.com. TXT "v=spf1 a mx ip4:67.231.248.250 ~all"
从这个谷歌页面,听起来如果我想允许谷歌应用程序被允许,我应该有这个:
v=spf1 include:_spf.google.com ~all
我的问题是,我是否使用谷歌地址创建了一个额外的 TXT SPF 记录,所以我会有两条记录?或者我是否以某种方式将谷歌地址集成到我已经拥有的地址中?或者,所以我只是用谷歌替换我所拥有的?或者,我已经考虑过完全摆脱它,因为它在实用性方面似乎是混合的,并且会导致潜在的问题。我认为我认为正确的解决方案是引用两台服务器,但我不确定它的语法应该如何工作。
我正在我的 VPS 上设置邮件服务器,为了防止垃圾邮件和被标记为垃圾邮件,我启用了 SPF、DKIM 和 DMARC。但是,我不想托管自己的邮箱,因此我将收到的邮件转发到外部邮件帐户,例如 Gmail。转发的问题在于它破坏了 SPF 检查。这可以通过使用 SRS 来解决,它会重写发件人地址以匹配邮件服务器的地址。
发送邮件时,我已将 Gmail 配置为通过我的邮件服务器发送邮件。在这种情况下SPF、DKIM和DMARC都会通过,但前提是SRS被禁用,否则SRS会导致发送地址域不再与FROM头域匹配,这是DMARC通过的要求。
所以我的问题是,如何在转发时启用 SRS,但在发送时阻止它启用?
这里有更多的上下文。邮件服务器运行 Ubuntu 12.04 LTS 并使用以下软件:
据我了解,有些邮件客户端需要 PTR、MX、EHLO 和邮件横幅来引用同一个域。因为我的 VPS 不仅仅用于邮件服务器,所以我选择将这些设置为我的 VPS 的主机名,比如说 vps.tld。
要启用 PostSRSD,您必须将以下行添加到/etc/postfix/main.cf:
sender_canonical_maps = tcp:127.0.0.1:10001
sender_canonical_classes = envelope_sender
recipient_canonical_maps = tcp:127.0.0.1:10002
recipient_canonical_classes = envelope_recipient, header_recipient
Run Code Online (Sandbox Code Playgroud)
但这将在一般情况下启用 SRS,而不仅仅是在转发时。似乎这是邮件服务器的常见用例,所以我希望有一个解决方案。
编辑:
这是postconf -n按要求的输出:
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
milter_default_action = accept …Run Code Online (Sandbox Code Playgroud) 我想更新和简化我的域的 SPF 记录。不幸的是,http://www.openspf.org/SPF_Record_Syntax不清楚。
我的域使用一个 MX 中继来接收和发送。SPF 规则就是这样简单v=spf1 mx -all。这将禁止从任何其他来源发送邮件。
我遇到的问题是一位用户使用它的提供商 (belgacom.be) 进行外发邮件中继。提供者当前的 SPF 规则如下:v=spf1 mx include:ispmail.spf.secure-mail.be include:bgc.spf.secure-mail.be include:bgcpartners.spf.secure-mail.be ~all
我很想将我的 SPF 规则定义为v=spf1 mx include:belgacom.be -all,但尚不清楚~all包含的 SPF 规则将做什么。belgacom.be 规则包含的规则也有一个~all. 将~all在包括规则被视为匹配,将我的-all忽视?
编辑:找到测试工具http://www.kitterman.com/spf/validate.html。通过添加include:belgacom.beI get Permanent Error SPF Permanent Error: Too many DNS lookups。关于所包含的问题~all仍然是开放的。
spf ×10
postfix ×3
email ×2
cname-record ×1
dkim ×1
dmarc ×1
email-server ×1
forwarding ×1
g-suite ×1
nameserver ×1
smtp ×1