我在Windows Azure环境中使用SendGrid API发送电子邮件。我需要更改某些电子邮件的电子邮件优先级(低\高重要性),但我没有看到任何允许我这样做的属性。
有没有人有使用SendGrid知道如何更改优先级的经验?有一个属性允许我添加标题..所以我不确定这是否可以用来做这个?
提前致谢!
答案 0 :(得分:4)
如果您使用的是Web API,则可以使用headers参数。如果通过SMTP发送,您只需将标题添加到邮件中即可。
RFC 4021中定义的一些标题支持此标题以及一些自定义标题。我将使用以下JSON作为headers参数来启动:
{“Priority”: “Urgent”, “Importance”: “high”}
如果这不起作用,您还可以查看X-Priority
和X-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