How can I access an Exchange server's global address list using a mail client of my choice (preferable pine/alpine)?

In the past, if I knew what the LDAP server and the associated settings were for the address book, I could use it in pine/alpine.

I'm setup to access email and the global address list through Outlook currently. I also know what the IMAP and SMTP servers are. I assume the global address list also resides on the same server, but I'm not sure.

Edit: to be clear, I have two parts to my question:

  • what details do I need? (i.e., how is the global address list implemented? can I access us using a normal LDAP client, for instance)?

  • is there a way I can get all the details I need (server, LDAP string, or whatever else) just by looking at my configured Outlook without having ask for these?

  • I am also interested in using Active Directory address book with alpine – Parag Doke Jan 10 '17 at 17:08

The address lists for any recent version of Exchange is part of the Active Directory Domain controllers. So just point your LDAP client at one of your DCs.

The 'Global Address List' and other address lists you see in your Address books are just LDAP filter that selects a particular set of users.

The 'All Users' list is defined by this filter.

((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))))))))

is there a way I can get all the details I need (server, LDAP string, or whatever else) just by looking at my configured Outlook without having ask for these?

If your inside your network, then you can usually find your list of domain controllers with a dns lookup. For a domain named exmaple.org, you might get what you need like this.

$ dig -t srv _ldap._tcp.example.org

;_ldap._tcp.example.org.        IN  SRV

_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.

ds-01.example.org.  3600    IN  A
ds-02.example.org.  3600    IN  A
ds-03.example.org.  3600    IN  A

Getting the other details you need to authenticate to the directory will be a little tricky. Your basedn will probably be like dc=example,dc=org. You should be able to use the User principal name to authenticate to AD. Frequently your UPN will be the same as your primary email address, it is sAMAccountName@Domain suffix.

  • thanks, that's good to know. but would you happen to know if the DC servers are typically configured to be the same as the exchange imap/smtp servers? and is there a standard LDAP filter string I can plug in to my LDAP client (alpine)? – PonyEars Sep 5 '13 at 23:54
  • No Exchange is almost never on the domain controllers. Microsoft strongly recommends against doing that. – Zoredache Sep 5 '13 at 23:55
  • Thanks for the filter. The only question I have now is the second part of my edited question (can I know the DC info by examining my configured Outlook Client?). Thanks again! – PonyEars Sep 5 '13 at 23:57
  • @Zoredache If you can share details on how to configure alpine with Active Directory address book, that would be great help. Feel free to obscure confidential stuff. – Parag Doke Jan 10 '17 at 17:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.