我有一个在 Azure 上运行的 webapp,并使用 Google Domains 作为域名 (mywebapp.com) 和 DNS。Azure 自动为不同的资源/服务生成 URL(例如:https://black-cat-12345.azurestaticapps.net、https://my-webapp-api.azurewebsites.net),我使用 CNAME 创建子域:
mywebapp.com A 3600 {Google IP}
mywebapp.com MX 3600 {Google mail servers}
mywebapp.com SPF "v=spf1 include:_spf.google.com ~all"
login.mywebapp.com CNAME 3600 black-cat-12345.azurestaticapps.net
api.mywebapp.com CNAME 3600 my-webapp-api.azurewebsites.net
etc
我被告知强烈考虑为子域添加 SPF 记录以防止邮件欺骗和网络钓鱼电子邮件,但根据为一个子域添加 CNAME 和 TXT DNS 记录,我在使用 CNAME 时不能有 SPF 记录。我不知道如何实现这一目标。
如果我从不从子域发送邮件,并且没有 MX 记录,是否需要 SPF 记录?
如果我应该添加 SPF 记录,是通过将 CNAME 更改为 A 记录来实现此目的的唯一方法吗?我不能使用 Azure 资源/服务的底层 IP(例如:my-webapp-api.azurewebsites.net -> 52.175.36.249),所以我对想法持开放态度。
Azure Web App 支持自定义域,但在您使用免费 (F1) 层的情况下不支持。而不是使用 DNS 别名(又名 CNAME),正确的方法可能是使用另一个定价层并配置您的自定义域。
关于它的一些文档:
如果您的域不发送电子邮件,则不需要 SPF 记录。
有一些方法可以帮助打击来自子域/主机名的垃圾邮件,方法是为您创建的每个主机名使用 SPF 记录
v=spf1 -all
(又名空 SPF 记录),但这在很多应用程序中并不实用。如果您有带有 MX 记录的子域,那么您需要为它们提供 SPF 记录,否则在可行时创建空 SPF 记录。