如何将自定义用户属性自动添加到Outlook VSTO中的所有新答复

时间:2019-06-28 13:04:35

标签: c# outlook vsto outlook-addin

我正在开发Outlook VSTO加载项,我们在其中将自定义用户属性调用“所有权”分配给所有新电子邮件。我使用的代码如下。

string UserName = (string)application.ActiveExplorer().Session.CurrentUser.Name;

MailUserProperties = SelectedMail.UserProperties;
                MailUserProperty = MailUserProperties.Add("Ownership", Outlook.OlUserPropertyType.olText, true, 1);
                MailUserProperty.Value = UserName;
                SelectedMail.Save();

当有人回复我们时,Outlook是否可能会自动从原始电子邮件中获取“所有权”属性值并分配给所有传入回复?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以处理MailItem类的Reply事件,您可以在其中设置所有必需的用户属性。

在Outlook中没有自动的方法。您必须在代码中处理此类情况。 MailItem.GetConversation方法允许获取一个Conversation对象,该对象代表该项目所属的会话。

如果该项目不存在对话,则

GetConversation返回Null(在Visual Basic中为Nothing)。在以下情况下,该项目没有对话:

  • 该项目尚未保存。可以通过用户操作或自动保存以编程方式保存项目。
  • 对于可以发送的项目(例如,邮件,约会项目或联系人项目),该项目尚未发送。
  • 已通过Windows注册表禁用了对话。
  • 该存储区不支持“对话”视图(例如,对于Microsoft Exchange Server 2010之前的Microsoft Exchange版本,Outlook以经典的在线模式运行)。使用Store对象的IsConversationEnabled属性来确定商店是否支持Conversation视图。