SendGrid开发QA环境的最佳方法是什么?我们希望非生产环境,我们可以通过API存储和测试我们的电子邮件模板。SendGrid沙箱设置不允许实际发送电子邮件。
除非有更好的方法,否则我们计划创建新的SendGrid基本帐户,每月9.95美元,允许多达40K封电子邮件。使用这种方法,我们的开发环境和QA环境将拥有不同的帐户,我们可以使用这些帐户进行测试和部署。
发布于 2019-04-03 16:23:39
我知道这是一个老问题,但我想把我们的解决方案留在这里,以防其他人需要它。
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上发送的最终电子邮件,因为你的指标将是混合的,如果你测试太多,它可能会影响你的发送配额。但是,如果你像我们一样时不时地测试一些小的变化,它就会起作用。
发布于 2020-11-20 01:42:36
SendGrid没有UAT (用户接受测试)类型的环境,因此他们建议的解决方案是分离用户。
我的公司采用的方法是让每个环境有不同的SendGrid用户。它允许API访问和帐户分离,因此生产帐户不会在其他环境中使用。它可以使用本地或开发工作的免费帐户进行测试,也可以使用阶段、QA或Beta类型环境的付费帐户进行测试。SendGrid pricing拥有所有级别的API访问权限。有时,SendGrid测试最棘手的事情是您对Subusers的限制,它仅限于较低的定价级别。
https://stackoverflow.com/questions/48064238
复制相似问题