尝试使用.ResolveName时出现EWS错误

时间:2014-01-16 17:08:54

标签: vb.net exchangewebservices

我有一个使用EWS发送邮件的vb.net应用程序。用户帐户没有邮箱,但具有代表另一个邮箱发送的权限。通常这段代码运行正常,因为它有完整的电子邮件地址要发送,但是当我尝试通过解析名称找到地址时它失败了:

将请求作为没有邮箱的帐户发出时,必须为任何可识别的文件夹ID指定邮箱主SMTP地址。

代码如下:

Private Function ResolveName(ByVal Name As String) As String
        Dim returnValue As NameResolutionCollection
        returnValue = _MainService.ResolveName(Name)

        Dim resolution As NameResolution

        For Each resolution In returnValue            
            Return resolution.Mailbox.Address
        Next
        Call _Owner.LogThreadMessage(frmMain.ObjectTypes.Error, "Error resolving address", Name)

        Return ""

    End Function

我认为不知怎的,它试图使用用户帐户来访问通讯录,而不是邮箱。

1 个答案:

答案 0 :(得分:2)

只是因为其他人遇到同样的问题,我通过查看目录来解决这个问题:

returnValue = _MainService.ResolveName(Name, ResolveNameSearchLocation.DirectoryOnly, True)

我认为现在正在查看全球地址列表而不是联系人,而这些联系人不存在。