【问题标题】:Set Email Priority with SendGrid API使用 SendGrid API 设置电子邮件优先级
【发布时间】:2014-04-22 21:09:43
【问题描述】:

我在我的 Windows Azure 环境中使用 SendGrid API 来发送电子邮件。我需要更改某些电子邮件的电子邮件优先级(低\高重要性),但我没有看到任何允许我这样做的属性。

有谁知道如何更改优先级的 SendGrid 经验?有一个属性可以让我添加标题.. 所以我不确定这是否可以用来执行此操作?

提前致谢!

【问题讨论】:

    标签: email azure sendgrid


    【解决方案1】:

    如果您使用的是 Web API,您可以使用您提到的 headers 参数。如果通过 SMTP 发送,您只需将标头添加到您的邮件中。

    在 RFC 4021 中定义了一些支持此功能的标头以及一些自定义标头。我将使用以下 JSON 作为 headers 参数开始:

    {“Priority”: “Urgent”, “Importance”: “high”}

    如果这不起作用,您还可以查看 X-PriorityX-MSMail-Priority 标头。

    【讨论】:

    • 谢谢!这样就成功了,但我不得不使用一些稍微不同的标题。我没有使用 Priority,我使用 Importance as high 和 X-Priority as 1,Importance as low 和 X-Priority as 5 来发送低重要性消息。谢谢!
    【解决方案2】:

    我也在寻找一种将电子邮件标记为重要的方法。看了几篇文章后,我在这里找到了答案- https://github.com/sendgrid/sendgrid-csharp/issues/251

    您需要做的就是在邮件标题中添加优先级。像这样-

    mailMessage.Headers.Add("Priority", "Urgent");
    mailMessage.Headers.Add("Importance", "high");
    

    上面的代码适用于高优先级。我猜你必须为低优先级的电子邮件做类似的事情。希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      根据我的测试,SmtpClient 将以下标头设置为高优先级:

      "X-Priority", "1"
      "Priority", "urgent"
      "Importance", "high"
      

      对于低优先级:

      "X-Priority", "5"
      "Priority", "non-urgent"
      "Importance", "low"
      

      【讨论】:

        【解决方案4】:

        我发现使用Headers.Add 会引发Object reference not set to instance of an object error

        使用mailMessage.AddHeader 来避免这种情况。

        在 Pallavi 提供的同一链接上找到。 https://github.com/sendgrid/sendgrid-csharp/issues/251

        【讨论】:

          猜你喜欢
          • 2016-02-13
          • 2020-12-21
          • 1970-01-01
          • 2019-03-08
          • 1970-01-01
          • 2010-09-14
          • 2016-11-30
          • 2013-01-18
          • 2019-06-14
          相关资源
          最近更新 更多