SPF + DKIM + DMARC 与 Gmail 帐户和外部邮件服务器

SPF + DKIM + DMARC 与 Gmail 帐户和外部邮件服务器

我在项目中使用有自己域名(Google Apps)的 Gmail。现在我想添加外部邮件服务器来向用户发送通知。Gmail 不提供 DKIM 的私钥,如果在外部邮件服务器上生成密钥,在严格规则的情况下,来自 Gmail 的所有邮件都将被拒绝。在这种情况下,我如何使用 SPF+DKIM+DMARC 来防止邮件欺骗?

答案1

我从 2010 年开始使用这种配置,实际上 DMARC 是后来才出现的。我使用 Google Apps 服务器通过 Web 客户端发送和接收电子邮件。我的服务器只发送电子邮件而不接收电子邮件,因此不需要更改任何 DNS MX 记录,而且服务器端口 25 未向 Internet 开放。

防晒指数

我猜你已经遵循了 Google 的标准指南,将你的域名附加到 Google Apps。因此,你只需要调整 DNS 区域 SPF/TXT 记录以包含你的服务器:

<yourdomain>. TXT "v=spf1 ip4:<yourserver-ip> include:_spf.google.com ~all"

密钥管理信息系统

如果您使用 Google 生成的密钥为您的域 DNS 区域配置了 DKIM,那么您也可以添加任意数量的自定义 DKIM 密钥,更多信息请参见:https://support.google.com/a/answer/174124。因此,您域上的另一个 DKIM 记录应如下所示:

<yoursercer-key-id>._domainkey.<yourdomain>. TXT "v=DKIM1; g=*; k=rsa; <dkim key data here>"

Google 将使用其密钥对发出的电子邮件进行签名,因此接收者将根据签名的密钥 ID 对其进行验证。您的服务器的电子邮件应由您的自定义 DKIM 使用自己的密钥 ID 发送和签名,然后接收者的电子邮件服务器/客户端只需查找该自定义密钥 ID 即可验证来源,而不是 Google 的密钥 ID - 很好!

DMARC

最后,我配置了 DMARC。我收到了有关“admin@”帐户的 DMARC 报告,该帐户实际上托管在受监控的同一域上,并且托管在 Google Apps 上。此外,我使用Google 的电子邮件别名技巧“+dmarc” 可以轻松过滤这些报告并对其进行标记。

_dmarc.<yourdomain>. TXT ""v=DMARC1; p=none; rua=mailto:admin+dmarc@<yourdomain>"

答案2

使用类似以下命令将服务器添加到您现有的 SPF 记录中ip4:<server ip address>

如果你希望邮件使用 DKIM 签名,你可以使用OpenDKIM,一种流行的过滤程序,并使用选择器更新您的 DNS。

您可能不需要编辑 DMARC 记录中的任何内容,但如果您不确定,您可能会发现以下一些资源很有用DMARC 部署工具页。

答案3

FWIW – 因为我在研究中偶然发现了这个页面...只要您可以设置/获取正确的域密钥并发布相关的 DNS 记录,就可以通过外部邮件服务器从(常规免费)Gmail 发送 DKIM 有效电子邮件。例如,如果您的主机有 cPanel,那么您应该可以开始了!

我在这里简要介绍了如何使用 HostGator 等 cPanel 主机执行此操作:https://felixboehme.medium.com/dkim-signing-with-regular-free-gmail-and-hostgator-cpanel-83cc0eb3c337

答案4

如果您不使用 gmail 要求您发送电子邮件的服务器,您将无法在发件人:标头中使用 gmail 电子邮件地址发送电子邮件。这是 dkim、spf 等恢复电子邮件地址信任的基本机制。

据我所知。如果您需要从自己的服务器发送电子邮件,那么只需获取自己的域名,创建自己的 dkim 私钥并从合法的电子邮件地址 @yourdomain 发送。您可以将发送到该地址的电子邮件再次转发到 gmail。您还可以将 gmail 设置为使用 smtp 通过您的服务器发送电子邮件。

我希望我没有错过任何东西......

相关内容