AD 中没有自动发现服务器,Outlook Redemption

No autodiscover servers in the AD, Outlook Redemption

我们目前正在从 Exchange Server 2008 迁移到 2013。我们使用带有 Outlook Redemption 的自己编码的应用程序,它无法登录到新的 Exchange Server 2013。在旧版本的应用程序中,我们使用了函数 RDOSession.LogonExchangeMailbox,Exchange 2013 (RPC) 不再支持它。我们更新了 Outlook Redemption 5.21 的应用程序,无法登录到存储在 Exchange 2013 服务器上的邮箱。两台服务器都在线,可以收发邮件。[​​=17=]

我们应用程序中登录邮箱的代码类似于:

Dim objRDOSession As Redemption.RDOSession = Nothing
objRDOSession = CreateObject("Redemption.RDOSession")
objRDOSession.LogonHostedExchangeMailbox("<USERMAIL@DOMAIN>", "", "")

如果我们登录到仍存储在旧 Exchange 2008 服务器上的邮箱,一切正常。但是如果我们尝试在新的 Exchange 2013 服务器上登录邮箱,调用 LogonHostedExchangeMailbox(...) 会抛出异常:

GetAutodiscoverForEmailAddress: There are no autodiscover servers in the AD for this address
Error in WinHttpSendRequest(<DOMAIN>/autodiscover/autodiscover.xml): ERROR_WINHTTP_CANNOT_CONNECT
Error in WinHttpSendRequest(autodiscover.<DOMAIN>/autodiscover/autodiscover.xml): ERROR_WINHTTP_NAME_NOT_RESOLVED
Error in WinHttpSendRequest(autodiscover.<DOMAIN>/autodiscover/autodiscover.xml): ERROR_WINHTTP_NAME_NOT_RESOLVED
GetAutodiscoverUrlFromDns error: DNS lookup error using <IPDNSSERVER1>:DNS Server Reports Query Name Error
DNS lookup error using <IPDNSSERVER2>:DNS Server Reports Query Name Error

我们尝试为邮件服务器分配一个“自动发现”A 记录和一个 SRV 记录“_autodiscover”:

GetAutodiscoverForEmailAddress: There are no autodiscover servers in the AD for this address
Error in WinHttpSendRequest(<DOMAIN>/autodiscover/autodiscover.xml): ERROR_WINHTTP_CANNOT_CONNECT
HTTP error 401 from https://autodiscover.<DOMAIN>/autodiscover/autodiscover.xml
Server response:

Expected HTTP_STATUS_REDIRECT, received 403
GetAutodiscoverUrlFromDns error: DNS lookup error using <IPDNSSERVER1>:DNS Server Reports Query Name Error
DNS lookup error using <IPDNSSERVER2>:DNS Server Reports Query Name Error

可以看到Autodiscover的虚拟目录,看不到mapi的虚拟目录。我们不确定为什么没有显示 mapi 虚拟目录,因为命令行开关说有一个。 Virtual Directories Mapi Virtual Directory

我们使用了 Outlook 2016 的自动配置测试,它运行良好。它显示 MapiOverHttp 作为使用的协议: Outlook 2016 Autoconfiguration test

我希望我已经给了别人解决我们问题的想法,并且 he/she 可以帮助我们连接到我们的邮箱。谢谢!

只是跟进:主要问题是 Exchange 2013 及更高版本不支持独立的 MAPI 调用。我必须在我们的应用程序运行的客户端中安装 Outlook。感谢德米特里的帮助