我已经通过大量示例来使用Outlook COM库以编程方式访问Outlook。对于上下文,我的方案如下:
我需要查看其他用户的收件箱中有多少封电子邮件。我有那个用户的电子邮件地址和密码。这是因为我们共享一个需要监控的部门邮箱。
我尝试过以下各种变体:
Outlook.Application app = new Outlook.Application();
Outlook.NameSpace ns = app.GetNamespace("MAPI");
Recipient oRep = ns.CreateRecipient("notMe@notMe.com");
ns.Logon("notMe@notMe.com", "password", false, true);
MAPIFolder inbox = ns.GetSharedDefaultFolder(oRep, OlDefaultFolders.olFolderInbox);
var foo = inbox.Items.Count;
如果我通过添加其他帐户配置了当前的计算机Outlook,则此方法有效。我希望这能够在具有outlook的任何计算机上工作,无论之前是否已将“notMe”添加到outlook中。我见过如下建议:
注销并退出应用,然后在尝试访问其他帐户之前重新打开它
访问ns.Folders [“notMe@notMe.com”];
等文件夹到目前为止,没有任何工作。我感谢任何帮助。