Gmail 垃圾邮件问题 - 如何正确设置 DKIM 和 DMARC

问题描述 投票:0回答:2

我创建了一个自动脚本,可以在 PHP 中使用

PHPMailer
生成自定义 HTML 电子邮件,并将其从我的自定义域电子邮件帐户发送给任何收件人。

这些电子邮件都经过了试金石测试,并在所有客户端中完美呈现,没有任何评论,没有看似垃圾邮件的字符串,一切都很好。我的域名也不在任何黑名单等中

对于每个收件人来说,电子邮件首先几乎都会被放入垃圾邮件中。

然后我回到我的托管服务,他们建议我在我的电子邮件域的 DNS 区域中创建 SPF 记录。

这极大地提高了我的电子邮件的非垃圾邮件发送率。

尽管如此,一些客户仍然在垃圾文件夹中收到我们公司的电子邮件。我在 ACID 上使用电子邮件运行了垃圾邮件测试,所有测试都通过了,包括 SPF - 记录验证等。 出现的唯一警告是,猜猜看,对于 Outlook.com 和 gmail.com,电子邮件最终会落入垃圾邮件文件夹(没有说明原因),这显然是一个大问题。

事实上,唯一仍在抱怨垃圾邮件问题的客户确实主要是 Gmail 用户。

然后我遇到了这个非常有趣的帖子,并了解到谷歌推荐所有的设置,SPF,DKIM和DMARC。

我首先将

include:_spf.google.com
部分包含在我的SPF记录中,但是当谈到DKIM时,我陷入困境。

我很困惑,要拥有一个有效的 DKIM - 在您所在域的 DNS 内注册,您是否真的需要拥有一个 Google Workspace 帐户?因为显然您只能在该 Workspace 帐户中创建 DKIM 密钥,而且我担心这可能会在我的 Workspace 帐户的 14 个试用期后过期,从而进一步损害我的电子邮件域声誉而不是真正改善它。

或者我是否误解了事情,有一种不同的解决方案可以为给定的邮件客户端(例如域的 gmail)设置 DKIM(然后还有 DMARC)?我这么问是因为我没有任何设置 DKIM 的经验。

email gmail spf dkim dmarc
2个回答
1
投票

为了从管理控制台设置 DKIM,您肯定需要拥有一个 Google Workspace 帐号。使用Cloud Identity 免费订阅将不起作用,因为您将无法访问 Gmail 等服务。

要简单地从管理控制台生成密钥,您需要具有 Gmail 访问权限的正确订阅,该订阅仅在 Google Workspace 订阅中可用。

它很可能会在您的订阅到期后停止工作,因为它是从生成它的 Google Workspace 帐号链接到管理控制台的,一旦订阅暂停,一切都会停止工作。


0
投票

DKIM 的原理是您(通过 DNS)发布加密密钥的一半,并使用另一半(秘密的、私有的)在您发出的邮件的标头中创建和提供签名。这不是静态字符串;它是该消息的一些其他标头的哈希值。

接收邮件服务器会进行加密检查以查看两半是否匹配。 (注意:这是该过程的一个大大简化的视图)。

通过 Google Workspace 设置 DKIM 意味着您在 DNS 中放置特定密钥,并且 Workspace 知道如何创建相应的签名。

因此,即使拥有 Workspace 帐户并设置 DKIM 也无法解决您的问题,因为您的 PHPMailer 脚本不会生成 DKIM 签名,即使生成了,也不会使用秘密私钥。

您也许能够找到一个可以实现 DKIM 的 PHP 库。这似乎是实现 DKIM 合规性的唯一可行途径。

谷歌和微软在合规性方面变得更加严格;首先使用 SPF,现在使用 DKIM 将垃圾邮件与合法邮件进行分类。

另一种方法可能是设置邮件服务器(不是 Google 的)、实施 DKIM 并将其用作 SMTP 网关。

关于 SPF 的注意事项:如果您正确设置了邮件并且让脚本从另一个域和/或 IP 地址发送电子邮件,您仍然会遇到失败。您需要包含(IP 地址或域名)所有外发邮件的来源。因此,SPF 记录可以保存多个源。

最后一点:设置 DMARC,让邮件服务器向您发送上门投递成功和失败的报告。

© www.soinside.com 2019 - 2024. All rights reserved.