2016-11-15 50 views
3

我正在尝试使用SendGrid v3发送电子邮件。SendGrid v3 API - 使用带有空/无内容的模板发送邮件

我使用的是官方CSHARP NuGet包:https://github.com/sendgrid/sendgrid-csharp/

我希望用一个事务模板中,我有一系列的规定替换标记。简单的替代值,如-firstname-

我定义的事务模板基本上具有所有必需的信息/内容/主体已经定义它。我只希望使用此模板,并将替换标记替换为我在有效内容中定义的Personalization.SubstututionTags

的文件表明,我必须在有效载荷发送content - 事实上,它是记录,如果我不带任何“内容”发送一封电子邮件,我会收到400的错误状态代码。

https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#-Content-Errors

内容PARAM是必需的。没有 内容参数,您不能发送电子邮件。这是为了防止您向收件人发送空邮件 。

如果我只是想要使用模板中的内容,我应该在content中包含哪些内容?

如果我包括如

 'content': [ 
     { 
      'type': 'text/html', 
      'value': 'I\'m replacing the <strong>body tag</strong>' 
     } 
     ], 

这样的一些任意内容将不是覆盖从该模板的内容?

在此先感谢!

回答

1

这是相反的。模板正文将填充,无论您在<%body%>的哪个位置,您在API调用的content中发送的任何内容都将为put in the Template

您必须在API调用中传递内容,但它可能只是""。您必须将<%body%>标签放入模板中,但可以将其注释掉:<!-- <%body%> -->

这是SendGrid理解的要求导致了这个障碍,他们正在努力去除它,但还没有ETA。

相关问题