EWS托管API – 使用Html Body和Outlook 2013进行预约

我正在尝试使用包含超链接的Html Body创建一个约会,就像在此示例中所示:

ewsAppointment = new EwsData.Appointment(service); ewsAppointment.Subject = "Test"; var element = new XElement("html", new XElement("body", new XElement("p", new XElement("a", new XAttribute("href", "http://www.google.it/"), "google")), new XElement("p", "test 2")))); ewsAppointment.Body.BodyType = EwsData.BodyType.HTML; ewsAppointment.Body = element.ToString(); ewsAppointment.Save(SendInvitationsMode.SendToNone); 

当我在Outlook 2010中打开此约会时,Body看起来像预期的那样:

Outlook 2010中的正文

但在Outlook 2013中,Body的格式丢失了,它看起来像这样:

Outlook 2013中的正文

知道如何解决这个问题吗?

MS-OXCAL( 第2.2.1.38节 )标准文档似乎建议需要以RTF格式指定约会。 您可能想尝试使用.NET RTF Writer等库来编写主体。

我认为你获得一个奇怪的改变的原因是因为链中的某些东西正在将你的HTML转换为RTF。 这个问题有更多细节。

PR_RTF_COMPRESSED属性是您所需要的。 它是MAPI属性,作为EWS托管API和Exchange Web服务.NET中的扩展属性支持