C#Outlook; 创建文件夹后无法移动电子邮件

贝尼乌特克

我的应用程序应该将一些电子邮件发送到某个目的地。完成该操作后,我想自动将已发送的邮件移动到特定的文件夹(根据邮件附件中的文档类型)。如果该文件夹不存在,则程序必须创建它,然后将邮件移至新创建的文件夹。问题是,在我创建一个新文件夹并成功将邮件成功首次移动到该文件夹​​之后,然后当我发送另一封应被移动到所述文件夹的邮件时,程序看不到该文件夹​​。实际上,Folders方法根本不返回任何文件夹。坦白说,即时通讯出了什么主意。

在调试器中检查时,它说parentFolder.Folders“枚举未产生结果”

我不确定在方法createFolder中创建文件夹后是否应该做更多的事情(例如,更新文件夹列表...)

这是我的代码:

    public void moveEmails(string itemType, Boolean itemSent, Outlook.MailItem objMail)
    {
        Outlook.MAPIFolder folderParent = objMail.Parent as Outlook.MAPIFolder;
        Outlook.Folders folders;
        Boolean notMoved = true;

        objMail.UserProperties.Add("TransferredBy", Outlook.OlUserPropertyType.olText, true, Outlook.OlUserPropertyType.olText);
        objMail.UserProperties["TransferredBy"].Value = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        objMail.Save();


        if (folderParent.Name != "Inbox")
            folderParent = digForInbox(folderParent);

        folders = folderParent.Folders;

        if (!itemSent)
            itemType = "NOT DELIVERED";

        foreach (Outlook.MAPIFolder folder in folders)
        {
            if (folder.Name == itemType)
            {
                objMail.Move(folder);
                notMoved = false;
            }
        }
        if (notMoved)
            createFolder(itemType,objMail, folderParent);
    }

    public void createFolder(string itemType, Outlook.MailItem objMail, Outlook.MAPIFolder folderParent)
    {
        Outlook.MAPIFolder folderNew;
        folderNew = folderParent.Folders.Add( itemType, Outlook.OlDefaultFolders.olFolderInbox ) as Outlook.MAPIFolder;
        objMail.Move(folderNew);
    }
    private Outlook.MAPIFolder digForInbox(Outlook.MAPIFolder folder)
    {
        Boolean isNotInbox = true;
        while(isNotInbox)
        {
            if(folder.Name != "Inbox")
            {
                folder = folder.Parent as Outlook.MAPIFolder;
            }
            else
            {
                isNotInbox = false;
            }
        }
        return folder;
    }
贝尼乌特克

我找到了我的问题的答案:

https://social.msdn.microsoft.com/forums/windows/zh-CN/180c000c-524a-45dd-88fe-88b470be3597/accessing-subfolders-within-shared-mailbox?forum=outlookdev

问题类似于链接中的问题。我没有想到,因为我的邮箱主要是共享邮箱,会以除性能以外的任何其他方式影响它(由于连接到交换服务器)

将其发布为答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#Outlook Addin强制将光标移动到电子邮件正文的末尾

来自分类Dev

C#Outlook外接程序无法正确安装

来自分类Dev

如何创建将所有电子邮件从特定域移动到文件夹的Outlook规则?

来自分类Dev

C#Outlook Interop:是否有办法在创建新的压延机项目时得到通知?

来自分类Dev

使用VBA宏将选定的电子邮件移动到Outlook中的垃圾电子邮件文件夹

来自分类Dev

如何将电子邮件从文件夹移动到Outlook中的收件箱?

来自分类Dev

将电子邮件移动到Outlook中特定文件夹的热键

来自分类Dev

将电子邮件移至文件夹后将其删除(Outlook规则)

来自分类Dev

在Outlook中创建规则以将电子邮件复制到远程文件夹?

来自分类Dev

回复 Outlook 文件夹中的特定电子邮件

来自分类Dev

如何为联系人组/通讯组列表创建规则,以将电子邮件移动到Outlook 2013的特定文件夹?

来自分类Dev

创建将邮件移动到特定文件夹后运行的Outlook规则

来自分类Dev

为什么Outlook会继续将电子邮件移动到自定义的“垃圾”文件夹中?

来自分类Dev

使用Outlook 2010中的键盘快捷键将电子邮件移动到特定文件夹

来自分类Dev

将电子邮件附件移动到Outlook中的另一个文件夹

来自分类Dev

在PersonMetadata文件夹的Outlook搜索文件夹中隐藏空白电子邮件

来自分类Dev

从Outlook中的共享文件夹中读取带有C#的电子邮件

来自分类Dev

如何从Clutter Outlook文件夹C#中读取电子邮件

来自分类Dev

如何在Outlook中创建自定义快捷方式以归档文件夹中的电子邮件?

来自分类Dev

使用 MimeKit / Outlook 发送的电子邮件首次落入 gmail 的垃圾邮件文件夹

来自分类Dev

C#Outlook加载项优化

来自分类Dev

C#Outlook以编程方式访问CommandBar

来自分类Dev

从特定Outlook文件夹中的最近收到的电子邮件中获取文件

来自分类Dev

如何在 Linux 上打开/转换 .ost 文件(Microsoft Outlook 电子邮件文件夹)

来自分类Dev

发送电子邮件而不将副本留在已发送文件夹Outlook C#中

来自分类Dev

Excel VBA:在不使用GetNamespace(“ MAPI”)的情况下将Outlook电子邮件移动到公用文件夹中

来自分类Dev

Outlook 2016具有“存档”按钮,可将电子邮件移动到特定文件夹。该操作有键盘快捷键吗?

来自分类Dev

用于将Outlook的选定电子邮件保存在Windows文件夹中的宏

来自分类Dev

Outlook VBA宏,用于将电子邮件副本保存在本地文件夹中

Related 相关文章

  1. 1

    C#Outlook Addin强制将光标移动到电子邮件正文的末尾

  2. 2

    C#Outlook外接程序无法正确安装

  3. 3

    如何创建将所有电子邮件从特定域移动到文件夹的Outlook规则?

  4. 4

    C#Outlook Interop:是否有办法在创建新的压延机项目时得到通知?

  5. 5

    使用VBA宏将选定的电子邮件移动到Outlook中的垃圾电子邮件文件夹

  6. 6

    如何将电子邮件从文件夹移动到Outlook中的收件箱?

  7. 7

    将电子邮件移动到Outlook中特定文件夹的热键

  8. 8

    将电子邮件移至文件夹后将其删除(Outlook规则)

  9. 9

    在Outlook中创建规则以将电子邮件复制到远程文件夹?

  10. 10

    回复 Outlook 文件夹中的特定电子邮件

  11. 11

    如何为联系人组/通讯组列表创建规则,以将电子邮件移动到Outlook 2013的特定文件夹?

  12. 12

    创建将邮件移动到特定文件夹后运行的Outlook规则

  13. 13

    为什么Outlook会继续将电子邮件移动到自定义的“垃圾”文件夹中?

  14. 14

    使用Outlook 2010中的键盘快捷键将电子邮件移动到特定文件夹

  15. 15

    将电子邮件附件移动到Outlook中的另一个文件夹

  16. 16

    在PersonMetadata文件夹的Outlook搜索文件夹中隐藏空白电子邮件

  17. 17

    从Outlook中的共享文件夹中读取带有C#的电子邮件

  18. 18

    如何从Clutter Outlook文件夹C#中读取电子邮件

  19. 19

    如何在Outlook中创建自定义快捷方式以归档文件夹中的电子邮件?

  20. 20

    使用 MimeKit / Outlook 发送的电子邮件首次落入 gmail 的垃圾邮件文件夹

  21. 21

    C#Outlook加载项优化

  22. 22

    C#Outlook以编程方式访问CommandBar

  23. 23

    从特定Outlook文件夹中的最近收到的电子邮件中获取文件

  24. 24

    如何在 Linux 上打开/转换 .ost 文件(Microsoft Outlook 电子邮件文件夹)

  25. 25

    发送电子邮件而不将副本留在已发送文件夹Outlook C#中

  26. 26

    Excel VBA:在不使用GetNamespace(“ MAPI”)的情况下将Outlook电子邮件移动到公用文件夹中

  27. 27

    Outlook 2016具有“存档”按钮,可将电子邮件移动到特定文件夹。该操作有键盘快捷键吗?

  28. 28

    用于将Outlook的选定电子邮件保存在Windows文件夹中的宏

  29. 29

    Outlook VBA宏,用于将电子邮件副本保存在本地文件夹中

热门标签

归档