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

除非有更好的方法,否则我们计划以每月9.95美元的价格创建新的SendGrid基本帐户,该帐户最多可容纳4万封电子邮件。通过这种方法,我们的Dev和QA环境将具有可用于测试和部署的不同帐户。

最佳答案

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

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

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

{{#if isDev}}
  <p>This is development</p>
{{else}}
  <p>This is prod</p>
{{/if}}


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

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


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

关于sendgrid - SendGrid开发环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48064238/

10-16 10:43