我在.NET 4.5中开发了一个基于WPF的工具,我试图从其中一个Outlook帐户中的电子邮件中获取信息。
但是我收到带有消息COMException
的运行时"Cannot open the mailbox for this user because the user does not have a server mailbox"
。
我知道当电子邮件帐户有不同的交换服务器时会发生这种情况。
我们有什么方法可以克服这个&访问不同交换服务器上的帐户?
以下是我用来从多个帐户中选择特定帐户的代码块。 GetSharedDefaultFolder
是引发异常的方法:
foreach (Microsoft.Office.Interop.Outlook.Account account in accounts)
{
// When the e-mail address matches, return the account.
if (account.SmtpAddress.Contains("ABC.com"))
{
mapiNameSpace = myApp.GetNamespace("MAPI");
//selecting Inbox folder
Microsoft.Office.Interop.Outlook.Recipient recipent =
mapiNameSpace.CreateRecipient(account.SmtpAddress);
recipent.Resolve();
if (recipent.Resolved)
{
return mapiNameSpace.GetSharedDefaultFolder(
recipent,
Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
}
}
}
如果有人能提供帮助,我将不胜感激。