SendGrid开发QA环境的最佳方法是什么?我们希望非生产环境能够通过API存储和测试我们的电子邮件模板。 SendGrid沙箱设置不允许实际发送电子邮件。
除非有更好的方法,否则我们计划以每月9.95美元的价格创建新的SendGrid基本帐户,允许最多40K的电子邮件。使用这种方法,我们的Dev和QA环境将拥有我们可以测试和部署的不同帐户。
我知道这是一个老问题,但我想在这里留下我们的解决方案以防万一其他人需要它。
Sendgrid不允许有多个环境,但您可以使用动态模板测试不同的内容。
在你的模板上你可以设置一些条件if/else
like这个:
{{#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上发送的最终电子邮件,因此您的指标将会混合,如果您测试过多,则会影响您的发送配额。但是,如果您像我们一样不时地测试微小的变化,它将会起作用。