Exchange Web Services将邮件另存为草稿集DateTimeSent



我的C#程序正在Exchange 2010 SP2上通过Exchange Web Services(EWS 2.2.0(创建一个EmailMessage项目。当我调用Save方法时,它会显示在Outlook草稿文件夹中,但DateTimeSent设置为当前时间。

这对我来说似乎不正确,因为当我使用Outlook创建电子邮件并将其保存为草稿时,该属性为null。该属性也是只读的,所以我不能将其设置为null。

我曾尝试用SetExtendedProperty设置它,但没有成功。

有什么办法防止这种情况发生吗?我的用户抱怨说;发送日期";显示在尚未发送的打印电子邮件草稿中(是的,我知道…(。

干杯

我找到了一个适用于我的案例的变通方法。如果我将扩展属性PR_CLIENT_SUBMIT_TIME设置为5000的1月1日,它既不会显示在Outlook中,也不会显示在打印输出上:

var msg=new EmailMessage();
const int PR_CLIENT_SUBMIT_TIME = 0x0039;
DateTime weirdDateThatSomeHowIsIgnoredByExchange = new DateTime(5000, 1, 1);
msg.SetExtendedProperty(
new ExtendedPropertyDefinition(PR_CLIENT_SUBMIT_TIME, MapiPropertyType.SystemTime),
weirdDateThatSomeHowIsIgnoredByExchange.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ"));
msg.Save(folder.Id);

最新更新