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

Email 使用SendGrid API设置电子邮件优先级,email,azure,sendgrid,Email,Azure,Sendgrid,我在我的Windows Azure环境中使用SendGrid API发送电子邮件。我需要更改某些电子邮件的电子邮件优先级(低\高重要性),但我看不到任何允许我这样做的属性 是否有人拥有SendGrid的经验,知道如何更改优先级?有一个属性允许我添加标题。。所以我不确定这是否是我可以用来做的 提前谢谢 如果您使用的是Web API,则可以使用您提到的参数。如果通过SMTP发送,您只需将邮件头添加到邮件中即可 RFC4021中定义了一些头文件,这些头文件和一些自定义头文件都支持这一点。我将使用以下J

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

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


提前谢谢

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

RFC4021中定义了一些头文件,这些头文件和一些自定义头文件都支持这一点。我将使用以下JSON作为headers参数的开始:

{“优先级”:“紧急”、“重要性”:“高”}


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

我也在寻找一种将电子邮件标记为重要邮件的方法。在阅读了几篇文章之后,我在这里找到了答案-

您只需在邮件头中添加优先级。像这样-

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

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

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

"X-Priority", "1"
"Priority", "urgent"
"Importance", "high"
"X-Priority", "5"
"Priority", "non-urgent"
"Importance", "low"
对于低优先级:

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

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

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

在Pallavi提供的同一链接上找到。

谢谢!这确实奏效,但我不得不使用一些稍微不同的标题。我没有使用优先级,我使用重要性高,X优先级为1,重要性低,X优先级为5来发送低重要性消息。谢谢!