我正在使用EWS在Exchange邮箱中创建项目。我正在使用CreateItems方法。我还在我创建的项目上设置扩展属性,以便在达到该日期时将其删除。这些项目已正确创建,但不会在指定日期删除。
我读到Exchange中有一个计时器作业,它根据项目上设置的扩展属性进行实际处理,并且我可以在Powershell中使用“Start-ManagedFolderAssistant -Identity user@example.com”强制执行该作业,但这也不起作用。
以下是我发送的消息:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
</soap:Header>
<soap:Body>
<m:CreateItem MessageDisposition="SaveOnly">
<m:SavedItemFolderId>
<t:DistinguishedFolderId Id="root" />
</m:SavedItemFolderId>
<m:Items>
<t:Message>
<t:ItemClass>IPM.Blabla</t:ItemClass>
<t:Subject>ToDelete</t:Subject>
<t:Body BodyType="Text">Todelete</t:Body>
<t:ExtendedProperty>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c3e"
PropertyName="Expiration Date" PropertyType="String" />
<t:Value>6/4/2015 2:39:04 PM</t:Value>
</t:ExtendedProperty>
</t:Message>
</m:Items>
</m:CreateItem>
</soap:Body>
</soap:Envelope>
邮件中是否缺少某些内容以便作业删除它?在系统的工作方式中,我有什么误解吗?
答案 0 :(得分:0)
该属性您的设置将不会执行任何操作,看起来您已从https://msdn.microsoft.com/en-us/library/office/dd633654%28v=exchg.80%29.aspx中提取样本,这只是为自己创建自定义属性的示例。没有后端进程可以使用您刚刚创建的此属性。
在Outlook / Exchange中有两种方式可以使用PidtagExpirytime https://msdn.microsoft.com/en-us/library/ee237103%28v=exchg.80%29.aspx。这是一个客户端机制,仍然没有服务器进程可以删除过期的消息,请参阅http://www.msoutlook.info/question/automatically-delete-message-at-set-date。服务器端方法是使用保留标记标记消息,该保留标记将指定何时删除消息,例如http://blogs.msdn.com/b/akashb/archive/2011/08/11/stamping-retention-policy-tag-using-ews-managed-api-1-1-from-powershell-exchange-2010.aspx,并且在2013年,您可以通过https://msdn.microsoft.com/en-us/library/office/jj220500%28v=exchg.80%29.aspx#ret
执行此操作干杯 格伦