Outlook,是在约会中存储变量的最佳方法

时间:2019-02-27 06:35:25

标签: c# outlook-addin rtf

使用Outlook加载项,我需要在约会中存储一个变量,以确保收件人可以读取它。  到目前为止,我使用了UserProperty和RTF书签。两者都很好,直到邀请越过组织的边界(离开我的交换域)。发生这种情况时,似乎删除了userproperties和RTF书签。有没有人找到一种可靠的方法来做到这一点?我想避免丑陋的修改,例如将变量包含在体内的小字体中。

  • 选项1:维护用户属性=>不可能
  • 选项2:保持干净的RTF

RTF似乎是在HTML兼容的RTF中转换的,并且某些标签丢失了。我特别感兴趣的是以下内容:

原始RTF:

{\\field{\\*\\fldinst{\\ltrch\\f1\\fs22\\cf1\\ulnone\\ulc1 HYPERLINK 
{\\plain\\ltrch\\f0\\fs24\\ltrch\\f1\\fs22\\cf1\\ulnone\\ulc1 https://www.google.com \\\\o MYLINKNAME}}

已转换的RTF:

{\\field{\\*\\fldinst{HYPERLINK \"https://www.google.com\"}}

链接标题属性已删除,这阻止了在接收方检索它。

1 个答案:

答案 0 :(得分:2)

将约会转换为iCal格式(通过SMTP发送给Exchange组织外部的用户)后,您将无能为力。

但是您可以强制Outlook以RTF格式发送会议更新-在UseTnef事件中使用http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8582000BMeetingItem.PropertyAccwessor.SetProperty属性(DASL名称Application.ItemSend)设置为true。请注意,必须在传出的MeetingItem对象上设置该属性,并且Application.ItemSend事件是您发送该属性之前唯一的访问权限。