c# - SendGrid v3 API - 使用包含空/无内容的模板发送邮件

标签 c# .net sendgrid

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

我正在使用官方的 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

The content param is required. You may not send an email without the content parameter. This is to prevent you from sending an empty email to your recipients.

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

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

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

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

提前致谢!

最佳答案

正好相反。模板正文将被填充,无论您在 content 中发送什么API 调用的数量将是 put in the Template无论你有<%body%> .

您必须在 API 调用中传递内容,但它可以是 "" .而且你必须把 <%body%>模板中的标签,但可以注释掉:<!-- <%body%> --> .

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

关于c# - SendGrid v3 API - 使用包含空/无内容的模板发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40604168/

相关文章:

c# - 如何设置inktoolbar的笔颜色

c# - 如何对包含静态方法的方法进行单元测试?

java - 在java中使用antlr4 C#语法

asp.net-core - 如何访问 System.Net.Http.HttpConnectionResponseContent 的响应主体?

c# - Quartz.net 的简单工作示例

c# - EF 6.0 中缺少 DbSet<entity>.Load() 函数

.net - 如何在 ASP.NET MVC 中获取当前虚拟路径?

c# - .NET 字符串 IndexOf 意外结果

ruby-on-rails - Sendgrid 在本地接收邮件

email - 使用 Web API 与 SMTP API 的 SendGrid 模板