【问题标题】:Setup | G Suite + Sendgrid for transactional email设置 | G Suite + Sendgrid 用于交易电子邮件
【发布时间】:2020-06-12 19:18:22
【问题描述】:

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

# 历史:#

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

# 新设置:#

我们为 Wordpress 安装了 WP SMTP Mail 插件,并选择 Sendgrid 作为 SMTP 提供程序。我们遵循instructions 并能够连接所有三个:我们的 WooCommerce Shop、WP Mail SMTP 和 Sendgrid。

#问题:#

现在我们已经运行了新的设置,但事情似乎有些混乱。我读到混合abc.com 的 MX 记录设置是不允许/不好的做法。但这正是我所做的 - 我必须做的 - 让 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 执行 Single Sender Verification 是否正确?

# 附加信息:#

G Suite 所需的 DNS/MX 记录:

【问题讨论】:

    标签: email smtp sendgrid google-workspace mx-record


    【解决方案1】:

    我应该为我的顶级域“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 记录,但可以合并它们。 Understanding the syntax 将使合并 SPF 记录更容易,但本质上是这样做的:
      • 从两条记录的开头删除v=spf1
      • 从两条记录中删除 -all~all
      • 将两条记录放在一起(用空格分隔)
      • 删除重复条目(例如,两条记录都可能包含amx
        • 认为+foofoo 是重复的
      • v=spf1 放在新组合记录的开头(它与记录的其余部分之间应该有一个空格)
      • ~all 放在新组合记录的末尾(它与记录的其余部分之间应该有一个空格)(如果您想更积极地不允许来自的电子邮件通过,可以使用-all服务器冒充您的域,而不仅仅是将它们发送到垃圾邮件)
    • DKIM:这是一个反垃圾邮件工具,它告诉电子邮件收件人他们可以期望来自您域的部分或所有电子邮件使用特定的加密密钥进行签名。它由 2 种类型的记录组成。 (如果你想了解更多,我推荐this
      • 第一个只是告诉收件人天气应该签署所有、部分或不签署的外发电子邮件,以及如果此过程的某些部分失败,可以选择告诉谁。对于域 example.com,这将是_domainkey.example.com 的 TXT 记录。在您的情况下,我只会使用来自 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 特定的事情。

    【讨论】:

    • 这是一个很好的答案(对一个很好的问题)。我正在经历一个类似的场景,它阐明了设置它的步骤。仍然对 Sendgrid 的“自动化安全”流程以及它如何建议使用现有 SPF 和 DKIM TXT 记录添加播放的一堆 CNAME 感到困惑。不过值得拥有自己的 SO 帖子。
    • @MaxIvanov 说真的,我也想知道。他们的汽车安全实际上是如何运作的?
    • @jeffbRTC 从那以后我有了一些了解。对于 DKIM,Sendgrid 将提供 2 个具有唯一键的 CNAME,例如。 s1._domainkey.example.coms2._domainkey.example.com 所以它们不会与现有记录冲突。对于 SPF,将有一个子域的 CNAME,例如。 sg-generated-rnd.example.com 解析为 Sendgrid 服务器。 SPF TXT 记录将由 Sendgrid 托管在该子域下。再次与您的根域的 SPF 记录不冲突。
    • @MaxIvanov 我明白了。我已经提出了一个 SO 问题stackoverflow.com/questions/66280566/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2018-02-19
    相关资源
    最近更新 更多