我可以使用System.Net.Mail将电子邮件标记为Outlook的“高重要性”吗?

我正在为我的客户工作的部分应用程序涉及发送事件的电子邮件。 有时这些非常重要。 我的客户端和我的客户端的大多数客户端都使用Outlook,它能够将邮件标记为High Importance。

现在,我知道假设所有最终用户都使用相同的界面是假的,我不是。 但考虑到即使目标不一定是通过Outlook读取,您也可以从Outlook发送电子邮件作为高重要性,这意味着基本上存储了一些数据,以便Outlook知道特定邮件是否被指定为高重要性。 这是我的解释,至少。

应用程序当前使用System.Net.Mail发送电子邮件,使用System.Net.Mail.MailMessages编写它们,使用System.Net.Mail.MailMessages发送它们。 是否可以使用System.Net.Mail的function设置此“高重要性”设置? 如果没有,是否有可用于配置此设置的程序集?

设置邮件的Priority属性。 其值为Normal,Low或High。

编辑很晚:正如@StefanSteiger所说,优先级只能保证适用于Outlook。 在此问题/答案发布后的8年间,业界已将重要性标题作为首选方式。

甚至稍后编辑: MailMessage的源清楚地表明设置优先级实际上设置了三件事:XPriority头,优先级头和重要性头 。 因此,使用Priority属性将在任何邮件客户端中按预期运行,并将设置适当的标头。

您可以设置System.Net.Mail.MailPriority设置。

MailPriority.High例如。

使用它 – 它对我有用。

 Dim mail As New MailMessage() mail = New MailMessage() mail.Priority = MailPriority.High mail.Priority = MailPriority.Normal mail.Priority = MailPriority.Low 

仅仅因为Outlook将优先级视为重要性,这并不意味着所有其他电子邮件程序也会这样做。

优先级和重要性不是一回事。

正确答案是:

 mail.Headers.Add("Importance", "High"); // High, normal, or low 

值不区分大小写。

https://www.iana.org/assignments/message-headers/message-headers.xhtml
https://tools.ietf.org/html/rfc4021#page-32