SendGrid 开发 QA 环境的最佳方法是什么?我们想要非生产环境,我们可以通过 API 存储和测试我们的电子邮件模板。SendGrid 沙盒设置不允许实际发送电子邮件。
除非有更好的方法,否则我们计划以每月 9.95 美元的价格创建新的 SendGrid 基本帐户,最多可接收 4 万封电子邮件。通过这种方法,我们的 Dev 和 QA 环境将拥有不同的帐户,我们可以使用这些帐户进行测试和部署。
SendGrid 开发 QA 环境的最佳方法是什么?我们想要非生产环境,我们可以通过 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 没有 UAT(用户验收测试)类型的环境,因此单独的用户是他们建议的解决方案。
我的公司采取的方法是在每个环境中拥有不同的 SendGrid 用户。它允许 API 访问和帐户分离,因此在其他环境中不使用生产帐户。可以使用免费帐户进行本地或开发工作的测试,并使用付费帐户进行暂存、QA 或 Beta 类型环境的测试。SendGrid 定价具有所有级别的 API 访问权限。有时,使用 SendGrid 测试最棘手的事情是您对子用户的限制,这在较低的定价层中受到限制。