EWS EmailMessage Move方法异常:执行复制而非移动的问题求助
关于EWS EmailMessage.Move()方法仅复制不移动且无异常的问题
原本功能是将Exchange公共文件夹中的邮件移动到另一个公共文件夹,此前运行正常,但现在调用Move()方法后,仅完成复制操作,原邮件仍保留在原文件夹,且未抛出任何异常。
相关代码:
Dim loFolderId As New FolderId(lc_EWSFailFolderID) Dim loNewItem = loItem.Move(lc_EWSFailFolderID)
已尝试调试,但Item.Move()未触发任何异常。
以下是几个可排查的方向:
- 检查目标文件夹权限:确认操作账号对目标公共文件夹拥有编辑/删除权限,若仅具备读取权限,EWS可能自动将操作降级为复制而非移动。
- 验证目标文件夹ID有效性:确认
lc_EWSFailFolderID指向的是正确的目标文件夹,而非与原文件夹ID重复(若ID错误指向原文件夹,会出现看似复制的情况)。 - 核对EWS服务版本:若Exchange服务器或EWS API版本有更新,部分版本可能存在
Move()方法的行为变更,尝试在初始化EWS服务时指定明确的版本(如ExchangeVersion.Exchange2016)。 - 显式加载邮件属性:调用
Move()前,先执行loItem.Load()确保邮件属性加载完整,未加载全量属性可能导致方法行为异常。 - 排查服务器端规则:检查Exchange服务器上的公共文件夹规则,是否存在干扰移动操作、导致原邮件被保留的配置。
内容的提问来源于stack exchange,提问作者Denis Gavrikov
相关产品推荐
相关产品推荐

