?
Solved

Retrieving Data From Ms. Exchange Server Through Visual Basic

Posted on 2002-07-02
3
Medium Priority
?
205 Views
Last Modified: 2013-11-25
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
0
Comment
Question by:asaeed
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 1

Accepted Solution

by:
GregD earned 800 total points
ID: 7124455
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

http://www.microsoft.com/ntserver/nts/downloads/other/ADSI25/default.asp

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 = _
        GetObject("LDAP://Server/cn=Mailbox,cn=Recipients,ou=Site,o=Org")

' 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
   
Next

Cheers
Greg.
0
 
LVL 2

Author Comment

by:asaeed
ID: 7125241
Will this also get the Passwords cuz i what to match the user name and Password for further process
0
 
LVL 1

Expert Comment

by:GregD
ID: 7125369
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.

Cheers
Greg.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question