【问题标题】:No autodiscover servers in the AD, Outlook RedemptionAD 中没有自动发现服务器,Outlook Redemption
【发布时间】:2019-11-20 23:04:18
【问题描述】:

我们目前正在从 Exchange Server 2008 迁移到 2013。我们使用自己的带有 Outlook Redemption 的编码应用程序,它无法登录到新的 Exchange Server 2013。在旧版本的应用程序中,我们使用了函数RDOSession.LogonExchangeMailbox, Exchange 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 虚拟目录,因为命令行开关说有一个。 Virtual Directories Mapi Virtual Directory

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

我希望我已经为我们的问题提供了一个想法,他/她可以帮助我们连接到我们的邮箱。谢谢!

【问题讨论】:

  • 如果我尝试使用用户名和密码调用RDOSession.LogonExchangeMailbox,则会引发以下异常: IMAPISession::OpenMsgStore 中的错误:MAPI_E_LOGON_FAILED ulVersion:0 错误:无法打开信息存储。组件:MAPI 1.0 ulLowLevelError:0 ulContext:646
  • HTTP 错误 401 表示凭据错误。您的 Exchange Server 是否启用了基本身份验证?
  • 我不确定我必须在哪里寻找整个 Exchange 服务器的身份验证方法。但我查看了虚拟目录。我为每个虚拟目录启用了 Basic,但错误仍然相同。虚拟目录是否是查找您询问的身份验证方法的错误位置?
  • 你试过testconnectivity.microsoft.com的连接分析器吗?
  • 拥有两台 Exchange 服务器肯定是个问题 - Redemtpion 执行与 testconnectivity.microsoft.com 上的 autodicover 测试相同的步骤。向 redemption (at) dimastr (dot) com 发送电子邮件,我将向您发送 Redemption 的调试版本,其中记录了其所有自动发现步骤。

标签: mapi outlook-redemption exchange-server-2013 autodiscovery


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-28
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多