SendGrid v3 API - 使用具有空/无内容的模板发送邮件

时间:2016-11-15 07:21:22

标签: c# .net sendgrid

我正在尝试使用SendGrid v3发送电子邮件。

我正在使用官方csharp nuget包:https://github.com/sendgrid/sendgrid-csharp/

我希望使用交易模板,其中我定义了一系列替代标记。简单的替换值,如-firstname-等。

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

文档建议我必须在有效负载中发送content - 事实上,如果我发送的电子邮件没有任何&#,我将收到错误状态代码400 39;内容'

  

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

     

内容参数是必需的。如果没有,您可能不会发送电子邮件   内容参数。这是为了防止您发送空电子邮件   给你的收件人。

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

如果我包含一些任意内容,例如

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

不会用模板覆盖模板中的内容吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

反过来说。将填充模板正文,无论您在<span t-field="event.address_id.sudo().city"/>, <span t-field="event.address_id.sudo().country_id.name"/> 的{​​{1}}发送的内容都是put in the Template,只要您拥有content

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

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