SendGrid事务模板自定义参数c#

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SendGrid事务模板自定义参数c#相关的知识,希望对你有一定的参考价值。

我使用asp mvc核心安装了Sendgrid nuget包

我可以成功创建/发送/接收纯文本电子邮件。但是我现在正尝试使用我在sendgrid帐户中创建的跨国模板来传递自定义值以便在模板中进行替换。

当我运行以下内容时,我在响应变量中收到错误的请求错误:

        public async Task<Response> SendTemplateAsync(string to, string toName, string subject, string plainTextContent, string htmlContent, string templateId, IEnumerable<IFormFile> attachments = null)
    {
        var msg = new SendGridMessage
        {
            From = new EmailAddress(_sendGridSettings.EmailFrom, _sendGridSettings.EmailFromName),
            Subject = subject,
            PlainTextContent = plainTextContent,
            HtmlContent = htmlContent,
            TemplateId = templateId
        };
        msg.AddSubstitution("-NAME-", toName.ToString());
        msg.AddSubstitution("-UREF-", "ABC 123".ToString());

        msg.AddTo(new EmailAddress(to, toName));

        var response = await _sendGridClient.SendEmailAsync(msg);

        return response;
    }

我似乎无法访问任何有意义的错误消息,控制台等没有任何内容。当我删除“msg.AddSubstitution”和模板引用时,上面的代码工作。

我读了一些例子,似乎都表明我正在做的是对的。有人也可以解释Substitution和自定义args之间的区别

提前致谢

答案

我收到BadRequest响应,直到我将TemplateId更改为系统分配的神秘ID,而不是我的人类可读版本名称。

以上是关于SendGrid事务模板自定义参数c#的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 API C# 和模板将自定义变量添加到 SendGrid 电子邮件

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段1——vue主模板

VSCode自定义代码片段(vue主模板)

VSCode自定义代码片段2——.vue文件的模板

STL容器自定义内存分配器