【问题标题】:Add filter to SMTP Client向 SMTP 客户端添加过滤器
【发布时间】:2021-11-08 17:50:35
【问题描述】:

我正在使用以下代码使用 SendGrid 发送电子邮件:

        string userName = ConfigurationManager.AppSettings["SendGridUser"];
        string passWord = ConfigurationManager.AppSettings["SendGridKey"];

        SmtpClient smtpClient = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
        NetworkCredential credentials = new NetworkCredential(userName, passWord);
        smtpClient.Credentials = credentials;

        smtpClient.Send(mailMsg);

现在我需要添加一个额外的过滤器设置,现在确定如何添加它。我需要包括的过滤器是包括启用“绕过列表管理”。如何添加?

【问题讨论】:

  • Convert.ToInt32(587) 怎么了?这已经是一个 Int32 文字了。
  • 文档描述how to set a filter using a particular header.你读过文档吗?试图设置标题?结果如何?
  • @mason 不确定如何在此调用中使用 JSON 标头。
  • 标头是一个字符串。 JSON 只是一个字符串。我建议您尝试设置标题。如果您遇到困难,请将您尝试过的内容显示为minimal reproducible example,并清楚说明其中哪一部分不起作用。

标签: c# sendgrid


【解决方案1】:

这里是 Twilio SendGrid 开发人员宣传员。

要发送过滤器,例如 "bypass list management",您应该将它们作为 JSON 字符串作为 X-SMTPAPI 标头的一部分发送。你可以阅读更多关于building an X-SMTPAPI header here的信息。

绕过列表管理的 X-SMTPAPI 标头示例可能如下所示:

{
  "filters": {
    "bypass_list_management": true
  }
}

您可以将其添加到 mailMsg 的标题中,如下所示:

mailMsg.Headers.Add("X-SMTPAPI", jsonString);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多