我的应用程序针对Office 2010及更高版本。我正在尝试编写一个自动处理传入电子邮件的函数。但是,我发现只有在默认电子邮件帐户中收到MailItem时才会触发事件。如果用户在Outlook中添加了多个电子邮件帐户,我希望所有这些帐户都指向相同的事件处理程序。
这是我到目前为止所拥有的:
var inbox = _outlookApplication.Session.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
items = inbox.Items;
if (inbox != null)
items.ItemAdd += new ItemsEvents_ItemAddEventHandler(OnIncomingEmail);
我已尝试循环遍历_outlookApplication.Session.Accounts对象,但找不到可让我检索特定帐户的文件夹的方法。
非常感谢任何帮助!
答案 0 :(得分:1)
而不是使用Namespace.GetDefaultFolder
,循环访问Namespace.Stores
集合并致电Store.GetDefaultFolder
。准备好处理错误,因为某些商店(特别是如果它们不是默认的)可能没有全部或至少一些默认文件夹。