如何为转发域编写正确的 SPF TXT 记录
Posted
技术标签:
【中文标题】如何为转发域编写正确的 SPF TXT 记录【英文标题】:How to write the correct SPF TXT record for a forwarding domain 【发布时间】:2019-09-12 02:07:12 【问题描述】:我有一个转发域 (forwardingdomain.org > actual-website.org),为此我设置了电子邮件转发器。为了减少我的电子邮件转发器的垃圾邮件/欺骗,我想在域的 DNS 中设置正确的 SPF TXT 记录。
我在 DNS 中设置了 SPF TXT 记录,但是,最近我收到了似乎来自转发域的电子邮件转发器的诈骗/勒索软件/垃圾邮件。因此,该 SPF 记录可能不起作用。我已经成功地为具有关联网站的域设置了 SPF TXT 记录(即,我可以在 SPF 记录中使用服务器 IP)。但是,对于这个域,由于是转发,不清楚我应该使用什么 IP。
这是当前的 SPF 记录(我不记得自己添加了这个;它可能是自己生成的):
Type: TXT
Host: @
Value: v=spf1 a mx include:sendgrid.net ~all
预期结果:不应再收到看起来像是从我的电子邮件转发器发送的诈骗/垃圾邮件/勒索软件电子邮件。
实际结果:诈骗/垃圾邮件/勒索软件电子邮件正在进来,似乎是从我的电子邮件转发器发送的。
【问题讨论】:
【参考方案1】:首先,我建议添加一个include
机制以从您的转发域中提取 IP。
接下来,你有一个~all
默认机制,这意味着伪造的消息将不会被拒绝,只是标记为不合规(softfail)。这是正确的设置如果您仍在测试您的配置或您正在使用 DMARC。
使用 DMARC,softfail 可以变成完全拒绝,这通常被认为比使用 -all
更好,因为它保留了 DMARC 的其他语义。
【讨论】:
感谢您的回复,@synchro。我真的很不熟悉 SPF TXT 记录应该如何工作。如何添加include
机制以从我的转发域中提取 IP?我现在没有使用 DMARC。我应该设置吗?如果是这样,我该怎么做?
在您的转发域的 SPF 中设置允许的 IP 列表,并在其中添加一个 include
,就像您为 sendgrid 所做的那样。 DMARC 对于 cmets 来说太大了,但有很多关于它的文档和文章。它可能涉及设置 DKIM,这可能更困难。以上是关于如何为转发域编写正确的 SPF TXT 记录的主要内容,如果未能解决你的问题,请参考以下文章
Office365 设置 transport rule转发到第三方安全扫描邮件
Java web.xml - 如何为任何不匹配的请求执行一个包罗万象的 servlet 以转发到 index.html?