SendGrid开发环境

时间:2018-01-02 16:12:04

标签: sendgrid sendgrid-api-v3

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

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

2 个答案:

答案 0 :(得分:0)

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

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上发送的最终电子邮件,导致指标混合,并且如果测试过多,则可能会影响发送配额。但是,如果您像我们一样不时地测试微小的更改,那么它将起作用。

答案 1 :(得分:0)

SendGrid没有UAT(用户接受测试)类型的环境,因此建议用户使用单独的用户。

我的公司采用的方法是在每个环境中拥有不同的SendGrid用户。它允许API访问和帐户分离,因此在其他环境中不使用生产帐户。可以使用免费帐户进行本地或开发工作进行测试,并使用Staging,QA或Beta类型环境的付费帐户进行测试。 SendGrid pricing拥有所有级别的API访问权限。有时,SendGrid测试中最棘手的事情是您对子用户的限制,该限制仅限于较低的定价层。