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

3
我有一个vb.net应用程序,它使用EWS发送邮件。用户帐户没有邮箱,但具有代表另一个邮箱发送邮件的权限。通常情况下,由于它有完整的电子邮件地址可供发送,因此此代码可以正常运行,但是当我尝试通过解析名称来查找地址时,它会失败: 作为没有邮箱的帐户进行请求时,必须为任何受保护的文件夹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个回答

3

以防其他人遇到相同的问题,我通过仅查看目录来解决了这个问题:

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

我认为现在正在查看全局地址列表,而不是联系人列表,因为它不存在。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接