Exchange Webservices创建Reply Incorrect Sent Datetime时区



我有一个应用程序,它使我的公司服务台和客户之间的电子邮件通信自动化。当应用程序需要回复现有的电子邮件时,我使用FindItems来获取电子邮件,然后我加载我需要的属性,然后我使用(CreateReply)来获取我需要发送的响应电子邮件。奇怪的行为如下:我需要回复的电子邮件具有正确的SentDateTime和时区(+4 GMT),但当我从中创建回复时,"回复电子邮件"的发送日期变为UTC,这没有意义!当我正确连接到exchange时,我指定了时区,我似乎找不到一种方法来指定创建的回复消息的时区。

我真的希望有人知道这件事。

只是要指出,当我使用outlook手动回复邮件时,回复邮件的发送日期时间是正确的。只有当我使用exchange web服务时才会出现这个问题。

的问候yaze

这个问题的发生是因为EWS Managed API在大多数请求中省略了发送TimeZone头。对于应答,您确实需要发送时区标头,否则它会将标头信息设置为UTC。一种解决方法是使用事件将时区标头添加回参见http://blogs.msdn.com/b/emeamsgdev/archive/2014/04/23/ews-missing-soap-headers-when-using-the-ews-managed-api.aspx。EWS Managed API的源代码现在也可用,因此您也可以修补gettimezonerrequired方法并重新编译库https://github.com/OfficeDev/ews-managed-api/blob/31951f456519786e41232fa9ff6a3ab20b56cac3/Core/ServiceObjects/Items/Item.cs。

干杯格伦

最新更新