outlook - Outlook Redemption DLL - 无法删除 PST 中的电子邮件
问题描述
我正在使用以下命令从 PST 中删除电子邮件。
foreach (Redemption.RDOMail oitem in filteredItems)
{
try
{
oitem.Delete();
}
catch (Exception ex)
{
PSTLog.Log("Exception in DeleteEmails: " + ex.Message);
}
}
Redemption DLL 表明电子邮件已成功删除。如果我尝试使用 Redemption DLL 再次阅读 PST,我会收到更少的电子邮件,这是有道理的。但是,我仍然可以在 Outlook 中看到已删除的电子邮件。尝试了关闭/重新打开 Outlook 和在 Outlook 中分离/重新附加 PST 等选项,但没有帮助。
Outlook 是否有可能将结果缓存在其他地方并导致这种差异?Outlook 版本为 2016。
任何帮助,将不胜感激!!
解决方案
foreach
如果要修改集合,请不要使用循环。使用向下“ for
”循环:
foreach ( int i = filteredItems.Count; i > 0; i--)
{
Redemption.RDOMail oitem = filteredItems[i];
try
{
oitem.Delete();
}
catch (Exception ex)
{
PSTLog.Log("Exception in DeleteEmails: " + ex.Message);
}
Marshal.ReleaseComObject(oitem);
}
推荐阅读
- angular - Angular TypeError:升级到 Angular v9 后无法读取 null 的属性“选择器”
- r - 基于另一个二分投影设置一个二分投影的边缘属性
- javascript - 仅当鼠标在按钮上时显示 div
- angular - Angular - 类型 'Void[]' 不可分配给类型 'FilterExpression[]'
- java - Spring - 服务类中的@Repository 注释
- laravel - 向所有用户 laravel 发送通知的最快方法
- python - 是否可以将 setter 作为方法调用?
- amazon-web-services - Spring Cloud aws vs aws sdk java2
- python - 带有颜色编码 swarmplot 的小提琴 catplot
- flutter - Flutter:在 BottomNavigationBar 中更新 currentIndex 时,PageView 的性能滞后(但如果我不更新 currentIndex,则没有滞后)