1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
'=============================
'le userId est récupérer ds Outlook par
'currentAddress, c'est l'allias du cranet Outlook
'=============================
Function getMailByLdap(userId)
Dim Adresse
Dim conLdap,rsLdap,ComLdap
Dim valeursLdap
if userId = "" then
getMailByLdap = ""
else
Set conLdap = Server.CreateObject("ADODB.Connection")
conLdap.provider ="ADsDSOObject"
conLdap.open "Active Directory Provider"
Set ComLdap = CreateObject("ADODB.Command")
Set ComLdap.ActiveConnection = conLdap
Set rsLdap = Server.createObject("ADODB.Recordset")
valeursLdap = "givenName, sn, telephoneNumber, mail"
' récupérer l'adresse mail
ComLdap.CommandText = "select " & valeursLdap & " from 'LDAP://nom_serveur:389/dc=blabla,dc=blabla,dc=blabla' WHERE cn='" & userId &"'"
Set rsLdap = ComLdap.Execute
dim returnValue, i
'énumérer tous les enregistrements retournés par LDAP
Do While Not rsLdap.EOF Or rsLdap.BOF
ReturnValue = rsLdap.Fields("mail")
If IsArray(ReturnValue) Then
For i = LBound(ReturnValue) To UBound(ReturnValue)
If ReturnValue(i) <> "" Then
getMailByLdap = ReturnValue(i)
End If
Next
Else
getMailByLdap = ""
End If
rsLdap.MoveNext
Loop
' fermeture des objets de l'annuaire LDAP
conLdap.Close
Set rsLdap = Nothing
Set conLdap = Nothing
End if
End Function |
Partager