Retrieving Data From Ms. Exchange Server Through Visual Basic

I want Visual basic to connect to Ms. Exchange server For email addresses and the windows 2000 server user manager so that it can authenticate the user from the user database. How do i connect to windows 2000 ,exchange server database through VB
Who is Participating?
GregDConnect With a Mentor Commented:
Your best bet is to connect via ADSI & ADO. you can connect to Exchange 5.5/2000 & W2K using ADSI.

Try the ADSI Resource kit for your first point of call

Then check out msdn, there's loads of scripts about connecting to exchange, like this one for retreiving email addresses

Dim objMailbox As IADs
Dim varAddrs As Variant

Set objMailbox = _

' Retrieve and print the smtp address
Debug.Print objMailbox.Get("mail")
Debug.Print objMailbox.Get("rfc822Mailbox")

'Retrieve and print the X.400 address
Debug.Print objMailbox.Get("textencodedORaddress")

'Load the other proxy addresses into the property cache
objMailbox.GetInfoEx Array("otherMailbox"), 0
varAddrs = objMailbox.GetEx("otherMailbox")

'Now varAddrs is an array of strings
For i = LBound(varAddrs) To UBound(varAddrs)
    Debug.Print varAddrs(i)
Next I

Set objMailbox = Nothing

This script will connect to a domain 2k or nt4 and retreive the user names.

Dim usr As IADsUser

Set dom = GetObject("WinNT://DOMAIN-NAME")
dom.Filter = Array("User")

For Each usr In dom
    Debug.Print usr.Name

asaeedAuthor Commented:
Will this also get the Passwords cuz i what to match the user name and Password for further process
No, you can't retreive a password but you can authenticate as someone else for example

Dim openDS As IADsOpenDSObject
Dim comp As IADs
Set openDS = GetObject("LDAP:")
Set comp = openDS.OpenDSObject("LDAP://CN=DCNAME,OU=Domain Controllers,DC=DOMAIN,DC=co,DC=uk", "administrator", "password", ADS_SECURE_AUTHENTICATION)

This will authenticate to the AD by binding to the domain controller object DCNAME as the administrator. It will send the authentication using either NTLM or Kerberos depending on your setup, you only need to worry about getting the username & password from the user securely.

if the username/password is incorrect a runtime error is returned, you can capture this in your error handler using err.description & err.number.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.