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

问题描述 投票:4回答:4

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

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

提前致谢!

email azure sendgrid
4个回答
4
投票

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

RFC 4021中定义了一些支持此功能的头文件以及一些自定义头文件。我将使用以下JSON作为headers参数来启动:

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

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


2
投票

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

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

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

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


0
投票

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

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

而对于低优先级:

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

0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.