使用SendGrid API设置电子邮件优先级

时间:2014-04-22 21:09:44

标签: email azure sendgrid

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

有没有人有使用SendGrid知道如何更改优先级的经验?有一个属性允许我添加标题..所以我不确定这是否可以用来做这个?

提前致谢!

4 个答案:

答案 0 :(得分:4)

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

RFC 4021中定义的一些标题支持此标题以及一些自定义标题。我将使用以下JSON作为headers参数来启动:

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

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

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:0)

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

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

低优先级:

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

答案 3 :(得分:0)

我发现使用Headers.Add会将对象引用设置为未设置为对象错误的实例

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

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