SendGrid开发环境

24

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

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


2
答案是否定的。我觉得他们这样做是为了让你的QA和开发用户在执行活动时计入你的月度限制... - McLovin
2个回答

6
我知道这是一个老问题,但为了以防万一,我想在此留下我们的解决方案。Sendgrid不允许有多个环境,但您可以使用它们的动态模板来测试不同的内容。在您的模板中,您可以设置一些条件语句,例如if/else,如下所示:
{{#if isDev}}
  <p>This is development</p>
{{else}}
  <p>This is prod</p>
{{/if}}

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

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

显然,这与具有不同环境并非相同,因为我们没有在PRO上测试您将要发送的最终电子邮件,因为您的指标将混合,并且如果您测试过多,可能会影响您的发送定额。但是,如果您像我们一样只是偶尔进行小的更改测试,则它将起作用。

3

SendGrid没有UAT(用户验收测试)类型的环境,所以建议采用分离用户的解决方案。

我们公司的方法是在每个环境中使用不同的SendGrid用户。这样可以允许API访问和帐户分离,不会在其他环境中使用生产帐户。可以使用免费帐户进行本地或开发工作的测试,并为Staging、QA或Beta类型的环境使用付费帐户。SendGrid定价提供所有级别的API访问。SendGrid定价有API访问。有时,在低价格层面,Subusers的限制是SendGrid测试中最棘手的问题之一。


只是一点说明:在过去的一年里,Sendgrid更新了他们的政策,要求必须添加已批准的域名才能从您的域名发送电子邮件。我的公司有多个品牌和域名,但免费账户只允许我们通过一个域名发送。虽然Sendgrid有一个控制功能可以添加其他已批准的域名,但对我来说并没有起作用。当我提出了一个Sendgrid问题时,他们无法解决并关闭了问题。所以...祝您在使用免费账户时好运。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接