gpt4 book ai didi

email - 通过 EWS 发送邮件时如何获取保存到发送副本的 ItemId

转载 作者:行者123 更新时间:2023-12-04 21:05:35 25 4
gpt4 key购买 nike

EWS 文档表示,要发送消息并将副本保存到“已发送邮件”文件夹,您应该 use the CreateItem operation with a MessageDisposition value of SendAndSaveCopy .

   <m:CreateItem MessageDisposition="SendAndSaveCopy">
<m:SavedItemFolderId>
<t:DistinguishedFolderId Id="sentitems" />
</m:SavedItemFolderId>
<m:Items>
<t:Message>
<t:Subject>Company Soccer Team</t:Subject>
<t:Body BodyType="HTML">Are you interested in joining?</t:Body>
<t:ToRecipients>
<t:Mailbox>
<t:EmailAddress><a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="31425055585471525e5f455e425e1f525e5c" rel="noreferrer noopener nofollow">[email protected]</a> </t:EmailAddress>
</t:Mailbox>
</t:ToRecipients>
</t:Message>
</m:Items>
</m:CreateItem>

成功后,“服务器会使用 CreateItemResponse 消息响应 CreateItem 请求,其中包含 ResponseCode 值 NoError(表明电子邮件已成功创建)以及新创建消息的 ItemId。”

针对 Office 365 使用 EWS,此操作几乎成功。消息已发送,副本已保存到“已发送邮件”...但已保存副本的 ItemId 在响应中返回:

   <m:CreateItemResponse>
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Items />
</m:CreateItemResponseMessage>
</m:ResponseMessages>
</m:CreateItemResponse>

有没有办法指示 EWS 服务器实际返回已保存副本的 ItemId?或者,发送完成后查找已保存副本的首选机制是什么?

最佳答案

显然该文档要么是错误的,要么是不适用的。 This MSDN blog post符合我的经验:SendAndSaveCopy CreateItem 请求没有返回 ItemId。它建议如下:

只需在创建邮件时使用自定义扩展属性标记您的电子邮件,然后在发送邮件后使用该扩展属性在“已发送邮件”文件夹中查找该邮件。

评论者建议,您应该执行以下操作,而不是使用昂贵的 FindItems-with-SearchFilter 调用来查找带有自定义属性标记的已保存副本:

1。设置您的扩展 Prop 。

2。对发送的项目文件夹执行没有任何限制的 FindItem,按创建日期降序排序,索引页面 View 约为 5。将您的扩展 prop 包含在 PropertySet 中。

3。迭代结果寻找您的扩展属性。

关于email - 通过 EWS 发送邮件时如何获取保存到发送副本的 ItemId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34166465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com