回复电子邮件时,发送请求是异步发生的,这意味着响应中未返回消息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来构建请求的方式。
答案 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操作将其发送。还有一些要求,但应该可以。