设置子域的SPF和DKIM记录


10

我需要为mail.mydomain.com设置SPK和DKIM记录。我在namecheap设置了以下内容-

对于SPF-

Record type :TXT

Hostname : mail.mydomain.com

Value : v=spf1 ip4:x.x.x.x ~all

对于DKIM-

Record type : TXT

Host : mailer._domainkey

Value : "v=DKIM1; k=rsa; p=LONGSTRING"

使用在线检查工具(如邮件测试仪,mxtoolbox等)进行检查时,此方法不起作用。

[解决了]

与下面的答案之一不同,也可以为子域设置记录。这是Namecheap(可能还有其他提供商)存在的问题。您需要像这样设置主机名-

SPF hostname : mail
DKIM hostname : mailer._domainkey.mail

Namecheap将自动在最后添加domain.com。您不需要添加它。DKIM记录的DNS传播也花费了15个小时以上。


除非您使用as来为用户签名电子邮件,否则mailer._domainkey.mail将找不到DKIM密钥。假设您的用户正在发送地址为llike的邮件user@mydomain.com,那么您应该进行签名mydomain.com,在这种情况下,将不会找到您的DKIM记录
BillThor

如果您解决了问题,则可能应该回答并接受自己的问题,而不要进行编辑
istepaniuk

Answers:


10

就像在BillThor的答案中一样,您可能需要为example.com电子邮件地址中使用的主机名设置SPF和DKIM user@example.com,其中对于域而言mail.example.com仅是a 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"
    

    SPF不是继承的,即它不保护子域。此外,对于每个A不具有发送电子邮件记录的子域,都应添加:

    sub.example.com.   IN   TXT   "v=spf1 -all"
    
  • DKIM记录的定义不同:DKIM命名空间(RFC 6376,3.6.2.1)是一个子域:

    所有DKIM密钥均存储在名为的子域中_domainkey。给定DKIM-Signature具有d=标签example.coms= 标签的字段foo.bar,DNS查询将用于
    foo.bar._domainkey.example.com

    DKIM-Signature电子邮件标题中,您可以包含d=example.comd=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=...
    
  • 一旦实现(并测试了)SPF和DKIM,请考虑From通过实施DMARC策略(RFC 7489)保护标头。DMARC策略由所有子域继承,“ 除非使用sp标签明确描述了子域策略 ”(第6.3节)。例如

    _dmarc.example.com.  IN   TXT   "v=DMARC1; p=reject; aspf=s; adkim=s;"
    

解决了。这是Namecheap的问题。更新了问题。谢谢
Aditya Singh

1

您应该为要发送邮件的域配置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记录。

为邮件服务器域定义SPF记录非常有用,例如v=spf1 a -all。这允许对主机地址进行SPF验证。

您还应该考虑配置DMARC记录。这些是相对于发送电子邮件地址中的域而不是发送电子邮件的域定义的。

我已经张贴在保护您的电子邮件信誉与SPF实施DKIM与进出口等科目。DKIM的DNS详细信息适用于所有邮件服务器。


-1

您不能将DKIM用于子域。您可以对“域”进行操作

您不用根域使用“ subdomain mail.domain.com”,而是将根域设置为domain.com而不是子域。例如:

SPF-TXT 
hostname @ and value v=spf1 ipv4:x.x.x.x ~all


DKIM - TXT
host: s2048._domainkey.domain.com
value: v=DKIM1; k=rsa; p=LONG STRING with 2048 char" 

切记在公共密钥中插入换行符。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.