【问题标题】:SendGrid Transaction Template Custom Parameter c#SendGrid 事务模板自定义参数 c#
【发布时间】:2018-01-26 19:28:02
【问题描述】:

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

我可以成功创建/发送/接收纯文本电子邮件。但是我现在尝试使用我在我的 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 和 custom args 之间的区别

提前致谢

【问题讨论】:

  • 你让它工作了吗?我遇到了同样的问题。

标签: c# asp.net-core sendgrid


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-02
    • 1970-01-01
    相关资源
    最近更新 更多