使用CNAME时,是否可以创建正确的SPF和DMARC DNS记录



在我的设置中,我在Heroku上托管了一个网站(example.app(。

然后,我使用Sendgrid从Heroku服务器向忘记密码的用户发送电子邮件。该电子邮件是使用谷歌的Gsuite注册的。所以我也从谷歌服务器发送电子邮件。

发件人电子邮件为:<Appname <noreply@example.app>

所以我认为这些应该是我的DNS记录(注意,我没有A记录(:

CNAMES:

example.app CNAME "example.app.herokudns.com" www.example.app CNAME "www.example.app.herokudns.com"

SPF:

example.app TXT "v=spf1 a include:_spf.google.com include:sendgrid.net ~all"

Dmarc:

_dmarc TXT v=DMARC1; p=none; rua=mailto:dmarc@example.app; ruf=mailto:dmarc-forensic@example.app; fo=0; adkim=r; aspf=r; rf=afrf; pct=100; ri=86400; sp=none

但是,Dmarc记录不会验证,因为邮件是从不同的域发送的,而不是从收件人地址发送的。我认为电子邮件是从sendgrid.com发送的,收件人地址是example.app.

因此,我认为通过将我的Heroku DNS的IP地址添加到SPF记录中,它应该可以工作。

但是,当这些IP地址是动态的时,我该如何做到这一点呢?

"否";根据协议-rfc912#第2.4节;是";如果使用CNAME压平。

此外,您应该使用您的电子邮件服务器配置SPF和DMARC,在您的情况下,sendgrid而不是your@example.app

点击此处查看有关Cloudflare如何处理CNAME扁平化的更多信息:https://blog.cloudflare.com/introducing-cname-flattening-rfc-compliant-cnames-at-a-domains-root/

最新更新