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/