我们目前正在从 Exchange Server 2008 迁移到 2013。我们使用自己的带有 Outlook Redemption 的编码应用程序,它无法登录到新的 Exchange Server 2013。在我们的应用程序的旧版本中,我们使用了该功能RDOSession.LogonExchangeMailbox
,它不再支持交换 2013 (RPC)。我们更新了 Outlook Redemption 5.21 的应用程序,无法登录存储在 Exchange 2013 服务器上的邮箱。两台服务器都在线,可以接收和发送邮件。
我们应用程序中登录邮箱的代码类似于:
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-Record 和一个 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 虚拟目录,因为命令行开关说有一个。 虚拟目录 Mapi 虚拟目录
我们使用了 Outlook 2016 中的自动配置测试,它运行良好。它显示 MapiOverHttp 作为使用的协议: Outlook 2016 Autoconfiguration test
我希望我已经对我们的问题提出了一些想法,并且他/她可以帮助我们连接到我们的邮箱。谢谢!