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

7
我在Windows Azure环境中使用SendGrid API发送电子邮件。我需要修改部分邮件的优先级(低\高重要性),但是我没有看到任何允许我这样做的属性。
有没有使用SendGrid的人知道如何更改优先级? 我可以添加标题的属性,所以我不确定是否可以使用它来实现这一点?
谢谢!
4个回答

6
我也正在寻找一种标记电子邮件重要性的方法。经过阅读几篇文章,我在这里找到了答案 - https://github.com/sendgrid/sendgrid-csharp/issues/251 你需要做的就是将优先级添加到邮件标题中。像这样 -
mailMessage.Headers.Add("Priority", "Urgent");
mailMessage.Headers.Add("Importance", "high");

上面的代码适用于高优先级邮件。我猜想你需要为低优先级邮件做类似的处理。希望这可以帮到你。


5
如果您正在使用Web API,则可以像您提到的那样使用headers参数。如果通过SMTP发送,则可以将标题添加到消息中。 RFC 4021中定义了一些支持此功能的标题,以及一些自定义标题。我建议从以下JSON开始使用标题参数:{“Priority”:“Urgent”,“Importance”:“high”}。如果这样不起作用,您还可以查看X-Priority和X-MSMail-Priority标题。

3
谢谢!这解决了问题,但我不得不使用一些略微不同的标题。我没有使用Priority,而是将Importance设置为高并将X-Priority设置为1,将Importance设置为低并将X-Priority设置为5以发送低重要性消息。谢谢! - ewitkows

3

2

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

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

对于低优先级的任务:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接