如何将单个邮件发送网站添加到我的 SPF 记录中?

如何将单个邮件发送网站添加到我的 SPF 记录中?

我的公司从 Google Workspace、HubSpot 和 Salesforce 发送 @example.co 电子邮件,在 DNS 中具有以下 SPF 记录:

v=spf1 include:_spf.google.com include:_spf.salesforce.com 
include:xxxxxxxx.xxxxx.hubspotemail.net ~all

我们还有三个网站从 @example.co 地址发送电子邮件(例如忘记密码类型的电子邮件):

www.example.co (hosted by WP Engine / CNAME record in DNS)
subdomain.example.co (hosted at AWS,  no SES / A record in DNS)
microsite.com (hosted at AWS,  no SES / separate DNS) 

据我所知,没有以@subdomain.example.co 或@microsite.com 发送的电子邮件。

我该如何将这些网站添加到 SPF 声明中?语法是什么?它会是网站 URL/IP 吗?

我是否需要在我的 DMARC 记录中添加任何内容或为上述内容添加 DKIM?

任何帮助将非常感激!

答案1

从这个意义上讲,网站不会“发送”电子邮件。服务器会。就邮件服务器(和 SPF 验证器)而言,电子邮件消息具有与可能产生这些内容的网站和 URL 的关系。

对 SPF 来说,唯一重要的地址是使用 SMTP 的机器——联系收件人入站 MX 服务器的出站 SMTP 服务器。有时,这确实与网络服务器的地址相同;但更多时候,情况并非如此。

  • 因此,如果您有一个直接发送邮件的服务器(安装了 Postfix/Exim),那么您将需要允许该服务器的所有外部 IP 地址。

    一种简单的方法是找到一个“SPF 生成器”工具,但简而言之,要允许特定 IP 地址,您需要在 SPF 记录中使用ip4:和关键字。这些可以指定 IPv4 和 IPv6 地址(或使用 CIDR 语法的整个范围):ip6:

    v=spf1 ip4:192.0.2.6 ip6:2001:db8:1234:asdf::/64 -all
    

    与您现有的 SPF 记录集成后,它看起来像:

    v=spf1 include:_spf.google.com include:_spf.salesforce.com 
        include:xxxxxxxx.xxxxx.hubspotemail.net
        ip4:192.0.2.6 ip6:2001:db8:1234:asdf::/64 
        -all
    

    (继续使用的做法可能会更好include:。)

    笔记:全部服务器的公共 IP 地址,即使这些地址不在网站的 DNS 中。例如,如果网站的域名只有 IPv4,但服务器实际上支持 IPv6,那么它将要通过 IPv6 发送邮件,然后需要将其包含在你的 SPF 中。

  • 如果您的网站使用提供网络主机SMTP 服务器,那么您必须将其包含在 SPF 记录中 - 实际的网络服务器并不重要。您的网络托管商会告诉您include他们希望您添加哪些 IP 或内容。(最好不要猜测,因为网络托管商最终可能会移动他们的系统。)

  • 如果你有一个通过 Amazon SES 或其他第三方服务发送邮件的服务器,那么该服务您需要将其包含在 SPF 中,并且其文档将告诉您需要将其合并到您的记录中的内容ip4或标签。include

相关内容