设置 | G Suite + Sendgrid 用于交易电子邮件

Kev*_*zke 4 email smtp mx-record sendgrid google-workspace

我目前正试图解决我们商店的电子邮件设置问题。到目前为止,我们使用 G Suite 处理与我们域相关的所有电子邮件abc.com

#历史:#

我们的 WooCommerce 商店利用wp_mail()PHP-Mail 功能来发送我们的网站托管商发送的交易电子邮件(例如收到的订单、创建的帐户等)。当我们面临越来越多的电子邮件被发送到我们的客户垃圾邮件文件夹时,我们决定转向 SMTP 提供商。

# 新设置:#

我们为 Wordpress安装了WP SMTP 邮件插件,并选择 Sendgrid 作为 SMTP 提供商。我们按照说明操作并能够连接所有三个:我们的 WooCommerce 商店、WP Mail SMTP 和 Sendgrid。

# 问题: #

现在我们已经运行了新的设置,事情似乎有些混乱。我读到混合 .mx 的 MX 记录设置是不允许/不好的做法abc.com。但这正是我所做的 - 我必须做的 - 使 Sendgrid 和 G Suite 都能正常工作。

尽管Sendgrid在其活动仪表板中列出了来自shop@abc.com 的出站电子邮件,但实际的电子邮件是由Gmail 的默认 DKIM 域密钥:签名的,这不应该是这种情况,对吧?d=*.gappssmtp.com

# 目标:#

  • 使用Sendgridshop@abc.com发送出站电子邮件
  • 使用G Suite接收发往shop@abc.com 的入站电子邮件
  • 使用G Suitesarah@abc.com发送出站电子邮件,...

在此处输入图片说明

# 开放问题:#

  • 我应该为我的顶级域“abc.com”设置哪个 MX 记录以进行设置?
  • 对于此用例,SPF/DKIM/DMARC 设置应该如何?
  • shop@abc.com是否仍然是一个活跃的 G Suite 群组/邮件列表,还是必须将其删除?
  • 奖励:是否可以从 Sendgrid 和 G Suite 中的“shop@abc.com”发送出站电子邮件?
  • 奖励:使用 Sendgrid 对shop@abc.com执行单一发件人验证是否正确?

# 附加信息: #

G Suite 所需的 DNS/MX 记录:

在此处输入图片说明

907*_*997 11

我应该为我的顶级域“abc.com”设置哪个 DNS 记录以进行设置?

我假设您在这里谈论的是 MX 记录。MX 记录告诉外界应该将传入的电子邮件发送到哪个服务器,因此您可能需要此处的 G-Suite 设置。请注意,如果您列出了多个服务器(在屏幕截图中您有 5 个),将首先尝试向具有最低优先级值的服务器发送,并在发送成功时停止。如果 2 个记录具有相同的优先级,则首先尝试哪个记录取决于发送者。

对于此用例,SPF/DKIM/DMARC 设置应该如何?

  • DMARC:这是最简单的。这是一个地址,您将在其中收到有关电子邮件发送失败的报告。您可以要求将报告发送到多个地址,但规范规定您发送电子邮件的人不必向前 2 个以外的任何人发送回复,而且许多人不需要,因此尽量将自己限制在 2 个地址。要记住的一件事是,两个地址都将收到所有失败交付的通知(G-Suite 将收到有关 Sendgrid 的通知,Sendgrid 将收到有关 G-Suite 的通知)。G-Suite 可以使用这些电子邮件发送失败通知来生成报告,但由于您可能并不真正需要 G-Suite 的该功能,我将仅使用 Sendgrid 提供的记录。
  • SPF:这是一个反垃圾邮件工具,它告诉电子邮件收件人哪些电子邮件服务器是您域的真正电子邮件服务器。您只能拥有一个 SPF 记录,但可以合并它们。理解语法将使合并 SPF 记录变得容易得多,但基本上这样做:
    • v=spf1从两条记录的开头删除
    • 删除-all~all从两个记录中删除
    • 将两个记录放在一起(用空格分隔)
    • 删除重复条目(例如,两条记录都可能包含amx
      • 考虑+foofoo重复
    • 放在v=spf1新合并记录的开头(它和记录的其余部分之间应该有一个空格)
    • 放在~all新合并记录的末尾(它和记录的其余部分之间应该有一个空格)(-all如果您想更加积极地不允许来自冒充您的域的服务器的电子邮件,而不仅仅是发送它们,您可以使用垃圾邮件)
  • DKIM:这是一个反垃圾邮件工具,它告诉电子邮件收件人,他们可以期望来自您域的部分或全部电子邮件使用特定的加密密钥进行签名。它由两种类型的记录组成。(如果你想了解更多,我推荐这个
    • 第一个只是告诉收件人天气所有、部分或不应该签名的外发电子邮件,以及可选的告诉谁该过程的某些部分是否失败。对于域 example.com,这将是 .txt 处的 TXT 记录_domainkey.example.com。在您的情况下,我将只使用 Sendgrid 的一个,因为 Sendgrid 的一个和 G-Suite 的一个可能都指定所有电子邮件都应该签名,而 Sendgrid 是唯一真正需要获取失败通知的。
    • 另一种类型的记录是加密密钥。您可以拥有多个这些,并且每个都有一个唯一的名称。当 G-suite 发送电子邮件时,它包含使用其密钥的签名,并指定应根据名为 的密钥检查签名google。如果您的域是 example.com,则此密钥应位于google._domainkey.example.com. Sendgrid 的密钥将被命名为其他名称。包括两个键作为单独的记录。

shop@abc.com 是否仍然是一个活跃的 G Suite 群组/邮件列表,还是必须将其删除?

我会保留它。如果您愿意,您仍然可以从它发送邮件,但更重要的是,它会捕获客户发送到您的自动电子邮件的任何回复。

是否可以从 Sendgrid 和 G Suite 中的“shop@abc.com”发送出站电子邮件?

是的

使用 Sendgrid 对 shop@abc.com 执行单一发件人验证是否正确?

对不起,我不能帮你。到目前为止,所有内容都是关于使用 2 个电子邮件提供商的通用建议,但这似乎是 Sendgrid 特定的事情。

  • @jeffbRTC 从那时起我有了一些了解。对于 DKIM,Sendgrid 将提供 2 个具有唯一密钥的 CNAME,例如。`s1._domainkey.example.com` 和 `s2._domainkey.example.com` 因此它们不会与现有记录冲突。对于 SPF,子域将有一个 CNAME,例如。`sg- generated-rnd.example.com` 解析为 Sendgrid 服务器。SPF TXT 记录将由 Sendgrid 托管在该子域下。同样不会与您的根域的 SPF 记录冲突。 (3认同)