我有一个小宠物项目的工作。当我们收到新的电子邮件时,我们有三个邮箱,其中有两个我们需要告诉他们。我想为此制作一个程序(主要是为了学习体验)并潜入微软的Interop库。
我们需要通知的两个邮箱,我首先需要找到这些邮箱,然后我可以分配事件监听器等内容。但我不知道如何实现这一点。
要找到根,我这样做:
outlookNameSpace = outlookApplication.GetNamespace("MAPI");
然后我可以开始拖出文件夹并将它们分配给变量,如:
supportInbox = outlookNameSpace.Folders["Omitted"].Folders["Inbox"];
pensionInbox = outlookNameSpace.Folders["Omitted"].Folders["Inbox"];
但是代码说它找不到带有名字的文件夹(我用&#34代替;省略"只是为了隐私)。
我做错了什么?
答案 0 :(得分:2)
如果要访问多个邮箱,则必须首先确保它们都已加载到当前的Outlook配置文件中。否则,您需要确保当前登录的用户具有您要访问的邮箱的委派访问权限,并使用NameSpace.GetSharedDefaultFolder方法打开其收件箱。但是,您只能访问带有委托方案的收件箱。
否则,要获取当前配置文件中特定邮箱的特定文件夹,可以尝试以下方法:
如何:从文件夹路径获取文件夹对象 http://msdn.microsoft.com/en-us/library/ff868990(v=office.15).aspx
您可能还需要遍历NameSpace.Stores以获取邮箱的特定Store对象,并通过Store.GetRootFolder或Store.GetDefaultFolder访问文件夹。