![使用 pine(alpine)或其他电子邮件客户端访问 Exchange 全局地址列表](https://linux22.com/image/1376928/%E4%BD%BF%E7%94%A8%20pine%EF%BC%88alpine%EF%BC%89%E6%88%96%E5%85%B6%E4%BB%96%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AE%BF%E9%97%AE%20Exchange%20%E5%85%A8%E5%B1%80%E5%9C%B0%E5%9D%80%E5%88%97%E8%A1%A8.png)
如何使用我选择的邮件客户端(最好是 pine/alpine)访问 Exchange 服务器的全局地址列表?
过去,如果我知道 LDAP 服务器及其与地址簿相关的设置,我就可以在 pine/alpine 中使用它。
我目前已设置为通过 Outlook 访问电子邮件和全局地址列表。我还知道 IMAP 和 SMTP 服务器是什么。我假设全局地址列表也驻留在同一个服务器上,但我不确定。
编辑:明确地说,我的问题分为两部分:
我需要什么详细信息?(例如,全局地址列表是如何实现的?例如,我可以使用普通 LDAP 客户端访问我们吗)?
有没有一种方法,只需查看我配置的 Outlook 即可获得我需要的所有详细信息(服务器、LDAP 字符串或其他任何内容),而无需询问这些?
答案1
任何最新版本的 Exchange 的地址列表都是 Active Directory 域控制器的一部分。因此,只需将您的 LDAP 客户端指向您的一个 DC 即可。
您在地址簿中看到的“全局地址列表”和其他地址列表只是选择特定用户集的 LDAP 过滤器。
此过滤器定义“所有用户”列表。
((Alias -ne $null) -and (((((ObjectCategory -like 'person') -and (ObjectClass -eq 'user') -and (-not(Database -ne $null)) -and (-not(ServerLegacyDN -ne $null)))) -or (((ObjectCategory -like 'person') -and (ObjectClass -eq 'user') -and (((Database -ne $null) -or (ServerLegacyDN -ne $null))))))))
有没有一种方法,只需查看我配置的 Outlook 即可获得我需要的所有详细信息(服务器、LDAP 字符串或其他任何内容),而无需询问这些?
如果您在网络内部,则通常可以通过 DNS 查找找到域控制器列表。对于名为 exmaple.org 的域名,您可能会得到所需的信息,如下所示。
$ dig -t srv _ldap._tcp.example.org
;; QUESTION SECTION:
;_ldap._tcp.example.org. IN SRV
;; ANSWER SECTION:
_ldap._tcp.example.org. 600 IN SRV 0 100 389 ds-02.example.org.
_ldap._tcp.example.org. 600 IN SRV 0 100 389 ds-03.example.org.
_ldap._tcp.example.org. 600 IN SRV 0 100 389 ds-01.example.org.
;; ADDITIONAL SECTION:
ds-01.example.org. 3600 IN A 10.1.1.51
ds-02.example.org. 3600 IN A 10.2.1.52
ds-03.example.org. 3600 IN A 10.1.1.50
获取目录身份验证所需的其他详细信息会有些棘手。您的 basedn 可能类似于dc=example,dc=org
。您应该能够使用用户主体名称来向 AD 进行身份验证。您的 UPN 通常与您的主电子邮件地址相同,它是sAMAccountName@Domain suffix
。