在Outlook加载项上工作时,我需要在约会中存储变量,以确保收件人可以读取它。到目前为止,我使用了UserProperty和RTF书签。两者都很好,直到邀请越过组织的边界(离开我的交换域)。当它发生时,似乎删除了userproperties和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\"}}
删除链接标题属性,以防止在收件人端检索它。
当您的约会通过SMTP发送给Exchange组织外部的用户时,您可以将约会转换为iCal格式。
但是您可以强制Outlook以RTF格式发送会议更新 - 使用UseTnef
事件中的http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8582000B
将MeetingItem.PropertyAccwessor.SetProperty
属性(DASL名称Application.ItemSend
)设置为true。请注意,必须在传出的MeetingItem
对象上设置该属性,并且Application.ItemSend
事件是您在发送之前唯一可以访问它的时间。