在多个环境中为 SendGrid 入站解析和 G Suite(Google 应用程序)配置 MX

Configure MX for SendGrid Inbound Parse and G Suite (Google Apps) on multiple environments

我有一个应用 运行 在 stg.mydomain.com 上线并在 mydomain.com 生产。该应用程序的核心是人们能够通过电子邮件 运行 进行调查,人们可以在其中回复电子邮件并提供他们的答案。这是通过 SendGrid 的入站解析处理的。

我现在想做的是配置 Mailchimp,这样我就可以通过类似 benjamin@mydomain.com 的方式向我的客户发送电子邮件,并在那里收到他们的回复。所以我正在考虑设置 G Suite(以前称为 Google 应用程序)来执行此操作。

我知道我可能需要做的是将 Inbound Parse 移动到 mail.mydomain.com 之类的子域 – 但我不确定这将如何与暂存环境一起工作。会是mail.stg.mydomain.com吗?

基本上,我需要发送至 benjamin@mydomain.com 的电子邮件才能进入我的收件箱,但需要发送至 uuid@mydomain.comuuid@mail.mydomain.com 的电子邮件才能通过 SendGrid 转到我的应用程序。

如何配置我的 CNAME 和 MX 记录以使其正常工作?

经过反复试验并重新阅读 SendGrid 的文档后,我最终将 Inbound Parse 移动到一个子域 (mail),然后为 Google 应用程序释放了根。

现在我在 Cloudflare for MX 中有这个配置:

MX    mail            mx.sendgrid.net
MX    mail.stg        mx.sendgrid.net
MX    mydomain.com    aspmx.l.google.com
MX    mydomain.com    ...l.google.com

现在,当我从应用程序发送电子邮件时,我包含 mail 子域并继续使用环境变量将域名设置为 stg 或根。

mail(to: email_address,
         from: "#{company} <questions@mail.#{Figaro.env.domain}>",
         reply_to: "#{uuid}@mail.#{Figaro.env.domain}")

最后,在 SendGrid 中,我更改了白标域和入站解析配置以匹配 mail.mydomain.com