我正在尝试使用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>'
}
],
不会用模板覆盖模板中的内容吗?
提前致谢!
答案 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。