提供对ReplyAllToItem的扩展属性

时间:2019-01-22 14:59:34

标签: exchangewebservices php-ews

回复电子邮件时,发送请求是异步发生的,这意味着响应中未返回消息ID。

According to Microsoft的解决方案是在邮件中添加ExtendedProperty作为唯一ID,以后可以使用{{1}中的Restriction查找新发送的电子邮件}}。

我在发送常规电子邮件时成功完成了此操作,如下所示:

FindItem

问题在于,当尝试将<ns2:CreateItem MessageDisposition="SendAndSaveCopy"> <ns2:SavedItemFolderId> <ns1:DistinguishedFolderId Id="sentitems"/> </ns2:SavedItemFolderId> <ns2:Items> <ns1:Message> <ns1:ItemClass>IPM.Note</ns1:ItemClass> <ns1:Subject>Test create item</ns1:Subject> <ns1:Body BodyType="Text">And here is the body</ns1:Body> <ns1:ExtendedProperty> <ns1:ExtendedFieldURI PropertyName="CustomId" PropertySetId="SOME SET ID" PropertyType="String" /> <ns1:Value>UNIQUE ID</ns1:Value> </ns1:ExtendedProperty> <ns1:ToRecipients> <ns1:Mailbox> <ns1:EmailAddress>my@email.com</ns1:EmailAddress> </ns1:Mailbox> </ns1:ToRecipients> </ns1:Message> </ns2:Items> </ns2:CreateItem> 添加到ExtendedProperty中包含的Message时,该字段未包含在请求中。

ReplyAllToItem

通过我使用php-ews来构建请求的方式。

1 个答案:

答案 0 :(得分:1)

我认为该操作的基础类型不允许您添加Extended属性。一种简单的解决方法是先将邮件保存到草稿文件夹

      <m:CreateItem MessageDisposition="SaveOnly">
    <m:SavedItemFolderId>
      <t:DistinguishedFolderId Id="drafts" />
    </m:SavedItemFolderId>
    <m:Items>
      <t:ReplyAllToItem>
        <t:ReferenceItemId Id="AAMkADczN..." ChangeKey="CQAA..." />
      </t:ReplyAllToItem>
    </m:Items>
  </m:CreateItem>

然后,您将获得一个ItemId返回到由ReplyToAllToItem创建的基础EmailMessage,然后可以对该电子邮件使用常规的updateItem请求,然后通过SendItem操作将其发送。还有一些要求,但应该可以。