SendGrid开发环境

Ric*_*ood 10 sendgrid sendgrid-api-v3

SendGrid开发QA环境的最佳方法是什么?我们希望非生产环境能够通过API存储和测试我们的电子邮件模板.SendGrid沙箱设置不允许实际发送电子邮件.

除非有更好的方法,否则我们计划以每月9.95美元的价格创建新的SendGrid基本帐户,允许最多40K的电子邮件.使用这种方法,我们的Dev和QA环境将拥有我们可以测试和部署的不同帐户.

Col*_*ini 6

我知道这是一个老问题,但我想将我们的解决方案留在这里,以防其他人需要它。

Sendgrid 不允许有多个环境,但您可以使用其动态模板测试不同的内容。

在您的模板上,您可以设置一些条件,if/else如下所示:

{{#if isDev}}
  <p>This is development</p>
{{else}}
  <p>This is prod</p>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

然后,当您调用 API 发送邮件时,您应该像这样传递 var(注意:这是一个 Node 示例):

sendgrid.send({
  from: EMAIL_FROM,
  templateId: TEMPLATE_ID,
  personalizations: [{
    dynamic_template_data: {
      isDev:(process.env.ENV === 'development'),
    },
  }],
});
Run Code Online (Sandbox Code Playgroud)

显然,这与不同的环境不同,因为我们没有测试您将在 PRO 上发送的最终电子邮件,因为您的指标会混合,如果您测试太多,可能会影响您的发送配额。但如果您像我们一样时不时地测试一些微小的更改,它就会起作用。