VSTO Outlook 加载项不会将项目移动到另一个商店

VSTO Outlook Add-in will not move item another store

我有一个 Outlook 加载项,可以将电子邮件项目移动到另一个邮箱中的另一个文件夹。至少,它曾经这样做过。现在它不再移动它了。我写了另一个测试加载项,将电子邮件项目移动到当前用户邮箱中的另一个文件夹并且它确实有效,所以我的问题是,将项目移动到另一个邮箱是否会导致问题?

这里有一些代码来解释事情:

要执行到另一个邮箱的移动,代码使用此行为每个邮箱创建存储,

stores = Globals.ThisAddIn.OutlookApplication.GetNamespace("MAPI").Stores;

然后使用 foreach 循环遍历每个商店,

foreach (Outlook.Store store in stores)

获取当前收件箱,供以后使用,

destinationMailboxFolderInbox = (Outlook.Folder)store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

如果此商店的 DisplayName 与我指定为目标的商店相匹配,它将继续搜索子文件夹以找到我想要的商店,

if (store.DisplayName.Equals(destinationMailbox))
{
    foreach (Outlook.Folder myFolder in destinationMailboxFolderInbox.Folders)
    {
        if (myFolder.Name.Equals(destinationMailboxFolder))
        {
            item.Move(myFolder);

问题是,运行 似乎没有最后一个 foreach 循环(遍历文件夹)。

正如我所说,当我将其更改为使用我当前用户的邮箱时,它会起作用。我设置为当前用户可以访问的共享邮箱,没有用

我还缺少其他步骤吗?

这个问题要么是权限问题,要么是错误。我没有直接解决,而是开发了一个解决方法。

解决方法是创建一个 Outlook "Quick Step" 按钮来移动电子邮件。 Outlook 用户将单击我的 VSTO-coded Add-In 按钮以保存附件,然后单击“快速步骤”按钮将电子邮件移动到文件夹。