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

Gra*_*ote 20 c# outlook system.net.mail

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

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

该应用程序当前用于System.Net.Mail发送电子邮件,System.Net.Mail.MailMessages用于编写和System.Net.Mail.SmtpClient发送它们.是否可以设置这个"高重要性"设置System.Net.Mail的能力?如果没有,是否有可用于配置此设置的程序集?

Bra*_*don 21

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

MailPriority.High 例如.


Gal*_*boy 21

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

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

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

  • @StefanSteiger 再说一遍,**这是一个 8 年前的问题/答案**。你是根据一些东西来判断它的,而这些东西在它写出来之后五年内都不存在。 (3认同)
  • @StefanSteiger 重要性未记录为 [MailMessage] 上的“属性”(https://learn.microsoft.com/en-us/dotnet/api/system.net.mail.mailmessage?view=netframework-4.7.2) ,它也不显示为 Intellisense 中的可用属性。它被记录为可用的*标题*,但没有给出其他信息。再说一遍,这个答案已有 8 年历史了,因此框架类的状态在此期间很容易发生变化。 (2认同)

小智 9

使用它 - 它对我有用.

Dim mail As New MailMessage()
mail = New MailMessage()
mail.Priority = MailPriority.High
mail.Priority = MailPriority.Normal
mail.Priority = MailPriority.Low
Run Code Online (Sandbox Code Playgroud)