Adi*_*ngh 16 domain-name-system email email-server domain subdomain
我需要为mail.mydomain.com 设置SPK 和DKIM 记录。我在 namecheap 设置了以下内容 -
对于 SPF -
Record type :TXT
Hostname : mail.mydomain.com
Value : v=spf1 ip4:x.x.x.x ~all
Run Code Online (Sandbox Code Playgroud)
对于 DKIM -
Record type : TXT
Host : mailer._domainkey
Value : "v=DKIM1; k=rsa; p=LONGSTRING"
Run Code Online (Sandbox Code Playgroud)
当使用邮件测试器、mxtoolbox 等在线检查工具进行检查时,这不起作用。
[解决了]
与以下答案之一不同,也可以为子域设置记录。这是 Namecheap 的问题(也可能是其他提供商)。您需要像这样设置主机名-
SPF hostname : mail
DKIM hostname : mailer._domainkey.mail
Run Code Online (Sandbox Code Playgroud)
Namecheap 会在末尾自动添加 domain.com。你不需要添加它。DKIM 记录的 DNS 传播也花费了 15 多个小时。
Esa*_*nen 16
就像 BillThor 的回答一样,您可能需要为example.com电子邮件地址中使用的主机名设置 SPF 和 DKIM user@example.com,其中mail.example.com仅MX用于域。但是,要回答确切的问题......
与另一个答案中声称的不同,可以在每个级别上同时设置 SPF 和 DKIM。毕竟,example.com.是 的子域com.也是 的子域.,更不用说已经是下一级子域的域,例如co.uk.
SPF 记录被定义 ( RFC 7208, 3 )放置在 DNS 树中的所有者名称中,而不是放置在所有者名称下的子域中。第一行用于发送的邮件user@example.com,第二行用于user@mail.example.com.
example.com. IN TXT "v=spf1 a mx -all"
mail.example.com. IN TXT "v=spf1 a mx -all"
Run Code Online (Sandbox Code Playgroud)
SPF 不是继承的,即它不保护子域。此外,对于每个具有A不用于发送电子邮件的记录的子域,您应该添加:
sub.example.com. IN TXT "v=spf1 -all"
Run Code Online (Sandbox Code Playgroud)DKIM 记录的定义不同:DKIM 命名空间(RFC 6376, 3.6.2.1)是一个子域:
所有 DKIM 密钥都存储在名为
_domainkey. 给定一个DKIM-Signature带有d=标记为example.com和s=标记为的字段foo.bar,DNS 查询将为
foo.bar._domainkey.example.com。
在DKIM-Signature电子邮件标题中,您可以使用d=example.com或d=mail.example.com,并带有相应的i=user@example.com/ i=user@mail.example.com。等效的 DNS 记录:
selector._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=...
selector._domainkey.mail.example.com. IN TXT "v=DKIM1; k=rsa; p=...
Run Code Online (Sandbox Code Playgroud)实施(并测试)SPF 和 DKIM 后,请考虑From通过实施 DMARC 策略 ( RFC 7489 ) 来保护标头。DMARC 策略由所有子域继承“除非使用sp标记明确描述子域策略”(第6.3节)。例如
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; aspf=s; adkim=s;"
Run Code Online (Sandbox Code Playgroud)您应该为要为其发送邮件的域配置 DKIM 和 SPF。给定子域mail.example.com. 它可能正在为该example.com域发送流量,并且具有诸如user@example.com.
在这种情况下,您需要在下example.com而不是在 下配置 DKIM 记录mail.example.com。的 SPF 记录example.com可以像 一样简单v=spf1 a mx -all。
邮件服务器没有理由不能将邮件发送到不同的域,例如example.net和/或example.org。对于每个域,配置与该域相关的 DKIM 以及该域的 SPF 记录。
为邮件服务器域(例如v=spf1 a -all. 这允许对主机地址进行 SPF 验证。
您还应该考虑配置 DMARC 记录。这些是相对于发送电子邮件地址中的域而不是发送电子邮件的域来定义的。
我已经发布了“使用 SPF 保护您的电子邮件信誉”、“使用 Exim 实施 DKIM”以及其他主题。DKIM 的 DNS 详细信息适用于所有邮件服务器。