我正在使用“兑换”将数千个邮件从交换帐户转移到pst商店。为了移动所有邮件,我使用文件夹上的MoveMultiple方法。即使未将邮件加载到本地用户Outlook配置文件中,移动操作也应在激活的缓存模式下工作。
const int MAPI_NO_CACHE = 0x200;
const int MAPI_BEST_ACCESS = 0x10;
var onlineFolder = session.GetFolderFromID (folderId, storeId, MAPI_NO_CACHE + MAPI_BEST_ACCESS);
实际上,这很好,并且所有邮件都已移至pst文件,但是原始邮件不会在交换服务器上删除。
你们是否遇到相同的问题,或者我做错了什么?我需要手动启动此文件夹的同步吗?有什么想法吗?
提前谢谢
@DmitryStreblechenko:问题是,根本没有删除任何交换项目,但是将它们正确“复制”到了pst商店。
我做了一些进一步的调查,看来我的兑换帐户可能有问题。 :'-(
事件,当我通过Outlook客户端移动项目时,它们仅被复制到pst存储中-原始邮件保留在交换存储中。我现在不为什么,因为我没有收到错误或ComException。看起来一切正常,但事实恰恰相反。顺便说一句。删除邮件按预期进行。
我现在切换到另一个交换帐户,并且转移到具有已激活的“缓存模式”的pst存储的效果很好。我不知道为什么Outlook在我的主要交换帐户上挣扎。我没有任何错误。
您如何调查这些“错误”?
答案 0 :(得分:0)
结论: 经过一番调查后,我发现交换帐户的“已删除邮件”文件夹出现了问题,该问题与任何客户或赎回无关。
FIX: 不幸的是,我无法清空任何客户端或Exchange Web访问上的“已删除邮件”文件夹,我编写了一个小脚本来以编程方式删除每个邮件。之后,我创建了一个新的Outlook配置文件,并以安全模式重新启动了Outlook,突然间,我现在可以清空任何客户端上的“已删除邮件”文件夹。甚至移动到PST文件的操作也可以按预期工作-原始邮件将在源目录中删除。