首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从网站发送电子邮件的SPF问题

问从网站发送电子邮件的SPF问题
EN

Server Fault用户
提问于 2020-10-09 11:35:33
回答 3查看 807关注 0票数 0

我一直在努力理解如何解决一个特殊的问题,设置不同的域名SPF。我试着搜索网页,但没有找到我要找的东西。

我的问题是,所有的电子邮件目前是发送到垃圾邮件框,当发送从我的网站。网站域为exampleshop.com。但是G套件的MX记录是在example.com上建立的,exampleshop.com上的电子邮件是从info@example.com发送的。

最初,我有以下SPF txt记录设置:"v=spf1 include:_spf.google.com ~all“。但后来我将其改为"v=spf1 include:_spf.google.com include:exampleshop.com ~all“,以包括从网站发送的内容。

但是当我使用MX工具箱时,我会得到一个错误。它说:“包含的域:exampleshop.com没有vaild记录”。这让我相信,我需要在exampleshop.com域上添加一个SPF txt记录。这是对的吗?如果是这样的话,我应该增加什么呢?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2020-10-17 12:10:17

我重读了你的问题,我看到你有两个不同的领域: example.com和exampleshop.com。来自example.com的电子邮件是从gmail的服务器和web服务器www.exampleshop.com发送的,因此example.com的SPF可以是:

代码语言:javascript
复制
example.com IN TXT "v=spf1 include:_spf.google.com a:www.exampleshop.com ~all"

如果你像写"v=spf1 include:_spf.google.com include:exampleshop.com ~all"一样写SPF,你要对example.com电子邮件接收者说的是,这些邮件可能是由谷歌的SPF (include:_spf.google.com)和exampleshop.com SPF (include:exampleshop.com)授权的If发送的。为此,exampleshop.com必须有自己的防晒系数。例如:

代码语言:javascript
复制
example.com IN TXT "v=spf1 include:_spf.google.com include:exampleshop.com ~all"
exampleshop.com IN TXT "v=spf1 a ~all"

你可以用这两个选项中的任何一个。

票数 0
EN

Server Fault用户

发布于 2020-10-09 11:59:59

当您在SPF中使用包含指令时,您正在告诉接收者邮件服务器检查SPF策略。例如,如果您的域名是example.com,而您的SPF是这样的:v=spf1 include:_spf.google.com ~all,当一个电子邮件服务器收到来自example.com的电子邮件时,它会向DNS服务器请求example.com的SPF并得到v=spf1 include:_spf.google.com ~all。然后它将寻找_spf.google.com的SPF值,即:

代码语言:javascript
复制
v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all

邮件服务器递归地查找所有包含指令。最后,其中一些政策必须包括一些ips:

代码语言:javascript
复制
v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all

所以在你的情况下,你的SPF注册应该是这样的:

代码语言:javascript
复制
v=spf1 include:_spf.google.com mx a ip4:10.0.0.1 ~all

mx选项允许example.com MX寄存器发送电子邮件,a选项对example.com的ip做同样的事情,最后,ip4允许分配特定的ip来为您的域发送电子邮件。

致以敬意,

票数 0
EN

Server Fault用户

发布于 2020-10-17 11:56:59

在我的回答中,我猜想exampleshop.com和www.exampleshop.com都有相同的IP,尽管这不可能是真的。

让我给你举个例子。假设您有域exampleshop.com,它使用Gmail的电子邮件服务器,但也从web服务器发送电子邮件。DNS寄存器可以是这样的:

代码语言:javascript
复制
exampleshop.com A -> 192.168.1.1
www.exampleshop.com A -> 192.168.1.2
exampleshop.com MX -> gmail's servers
exampleshop.com MX -> another server (optional)

如果我们希望允许gmail的服务器和www.exampleshop.com从我们的域(exampleshop.com)发送电子邮件,SPF可能就是其中任何一个:

代码语言:javascript
复制
v=spf1 include:_spf.google.com ip4:192.168.1.2 ~all
v=spf1 include:_spf.google.com a:www.exampleshop.com ~all

如果exampleshop.com和www.exampleshop.com具有相同的IP (例如,192.168.1.1),那么您可以这样编写SPF:

代码语言:javascript
复制
v=spf1 include:_spf.google.com a ~all

上面一行中的"a“表示允许SPF域的IP (exampleshop.com = 192.168.1.1)为该域发送电子邮件。如果过了一段时间,您更改了exampleshop.com的IP,您将不必编辑SPF,因为电子邮件的接收方将解析exampleshop.com的新IP。

当然,您也可以将"a“和"ip4”选项添加到SPF中:

代码语言:javascript
复制
v=spf1 include:_spf.google.com ip4:192.168.1.2 a ~all
v=spf1 include:_spf.google.com a:www.exampleshop.com a ~all

该SPF允许Gmail的服务器、IP 192.168.1.2和域IP (exampleshop.com)使用@exampleshop.com发送电子邮件。

最后,还可以将MX (邮件交换)选项添加到SPF中:

代码语言:javascript
复制
v=spf1 include:_spf.google.com ip4:192.168.1.2 a mx ~all

MX选项告诉来自@exampleshop.com的电子邮件接收者,在DNS配置中声明的每个服务器都可以发送电子邮件。

SPF中的MX和A选项类似于“别名”,这取决于DNS服务器的配置。

有很多方法来写SPF。检查这个:https://dmarcian.com/spf-syntax-table/

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1037063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档