我有两台服务器。
第一台服务器使用主机名 myserver.com,我将 myserver.com 的 A 记录设置为第一台服务器的 IP 地址。
第二台服务器使用主机名 server2.myserver.com,我将 server2.myserver.com 的 A 记录设置为第二台服务器的 IP 地址。
第二台服务器是 DigitalOcean droplet(CentOS),托管一个简单的 WordPress 网站、mywebsite.com 和其他几个网站。IP 是 138.xxx.xxx.148。
当从 mywebsite.com 上的联系表单发送邮件时,该邮件会到达 Gmail 垃圾邮件中。SPF 检查结果为“中性”,其内容如下:
已接收 SPF:中性(google.com:138.xxx.xxx.148 既未被允许,也未被最佳猜测记录拒绝[电子邮件保护])客户端IP=138.xxx.xxx.148;
我为 mywebsite.com 添加了 SPF 记录:v=spf1 a ip4:138.xxx.xxx.148/32 a:server2.myserver.com ~all
我为 myserver.com 添加了相同的 SPF 记录。
我肯定是哪里出了错,但似乎无法解决。也许我只是不能将同一个域名用作两台服务器的主机名?
我尝试了 spf 记录中、跨网站域和服务器域的几种 IP 和域组合,但均未成功。
在此先感谢您提供的任何帮助。
答案1
您有 2 个选项,取决于您是希望人们只看到 @myserver.com 还是看到 @server2.mywebsite.com
如果您希望人们看到 2 个单独的 @domain.names,那么您将需要 2 个单独的 SPF 记录,正如 Jacob Evans 指出的那样,每个域一个。
但更可能的是,如果您希望多个服务器使用相同的 @domain.name,您将需要配置邮件传输代理 (MTA)(例如 postfix 或 exim),以使用与其自己的主机名不同的域来发送出站电子邮件。在 postfix 中,此设置的调用方式myorigin
如下所述Postfix 网站。您可以通过运行以下命令来设置此参数
postconf myorigin=domain.name
如果使用具有不同公共 IP 地址的多个服务器,您将需要一个 SPF 记录来反映这一点,例如您拥有的a 和 ip4 机制
v=spf1 a ip4:138.xxx.xxx.148 -all
^ ^
Indicates 2 servers