2015-10-04 62 views
0

我有一个应用程序可以自动执行公司服务台和客户之间的电子邮件通信。 当应用程序需要回复现有的电子邮件时,我使用FindItems来获取电子邮件,然后加载我需要的属性,然后使用(CreateReply)获取我需要发送的响应电子邮件。 奇怪的行为如下: 我需要回复的电子邮件有一个正确的SentDateTime和时区(+4 GMT),但是当我从它创建回复时,“回复电子邮件”的发送日期变成UTC,它使得不感! 我指定时区,当我连接正确交换,我似乎无法找到一种方法来指定创建的答复消息的时区。Exchange Webservices创建回复错误发送日期时间时区

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

只要指出,当我使用outlook手动回复电子邮件时,回复电子邮件发送日期时间是正确的。这个问题只发生在我使用交换Web服务时。

问候 耶兹德

+0

请显示一些代码... –

回答

1

发生此问题是因为EWS托管API省略了大多数请求发送时区头。对于回复,转发您需要发送时区标题,否则它会将标题信息设置为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的源代码现在也可用,因此您也可以修补GetTimeZoneRequired方法并重新编译库https://github.com/OfficeDev/ews-managed-api/blob/31951f456519786e41232fa9ff6a3ab20b56cac3/Core/ServiceObjects/Items/Item.cs

干杯 格伦