如何克服"无法打开此用户的邮箱,因为该用户没有服务器邮箱" outlook编程中的COMException?

时间:2016-08-24 09:04:47

标签: c# outlook

我在.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);
        }
    }
}

如果有人能提供帮助,我将不胜感激。

0 个答案:

没有答案