我拥有多个域名,并且可以通过注册商直接转发至另一个电子邮件地址。
该系统已在很多领域完美运行多年,但最近我创建了一个新的转发,但在测试中失败了。
该错误不是 SPF/DKIM 错误,而是地址未知错误。注册商坚称失败的原因是他们的系统不允许在要转发的域上存在 spf 和 dkim 记录。
我对此领域的了解并不广泛,但我不相信注册官的陈述是真实的。有什么指导吗?
答案1
不,DKIM 和 SPF 不会完全禁用邮件中继。相反,它们只允许已授权中继转发邮件的域,并建议所有接收系统拒绝来自未经授权中继。此授权通过特殊 DNS 记录宣布。
可以同时设置多个出站中继(您自己的服务器和一些外部服务器)。但您最终会将它们全部列在您的 SPF 和 DKIM 记录中。
对于 SPF,您必须知道所有中继 IP 地址,或者列出所有地址的 SPF 有效记录的名称。然后,您将所有这些地址设置到您的 SPF 记录中,或者include:their-spf-record
除了您自己的或您需要的其他中继之外,使用:
example.com. TXT "v=spf1 a:your.server.name include:their-spf-record ip4:192.0.2.111 -all"
(可能有许多不同的 a:、include:、ip4: 部分)。
对于 DKIM,中继操作员必须生成签名密钥对。然后他们必须告诉你公钥及其选择器(他们还配置他们的服务器使用相应的私钥和此选择器进行签名)。然后,对于每个密钥选择器对,您创建以下形式的附加 TXT 记录:
selector._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=..<key>.."
当然,每个系统必须使用自己独特的选择器。
这是同时从多个系统发送带有“发件人”域的邮件所需的所有 DNS 设置。
SPF 部分对任何人来说都不应该有任何困难。他们的系统的问题可能是他们不知道如何为中继邮件设置 DKIM 签名。以我为例,postfix+rmilter 可以做到这一点,而且没有任何问题,一切都可以配置。您还可以选择在使用中继作为智能主机的服务器上使用 DKIM 签名,并且您必须确保中继系统不会弄乱签名的标头并且不会删除您的签名;如果是这样,则无需在中继系统上设置额外的 DKIM 签名。