Ce code permet d'envoyer un mail à un groupe dans la hiérarchie Active Directory
Source / Exemple :
Private function ObtenirMail(byval login as string, byval motdepasse as string, byval groupe as string) as string
try
Dim LDAP_Chemin As String = "LDAP://ou=<mon OU>,dc=<mon DC>,dc=<mon DC>"
' Exemple Dim LDAP_Chemin As String = "LDAP://ou=senyniumcorp,dc=senyniumcorp,dc=lan"
' On renseigne les informations de recherche
Dim chemin As New DirectoryServices.DirectoryEntry
chemin.AuthenticationType = DirectoryServices.AuthenticationTypes.Secure
chemin.Username = login
chemin.Password = motdepasse
chemin.Path = LDAP_Chemin
'Récuprération des informations Active Directory
Dim rech As New System.DirectoryServices.DirectorySearcher(chemin)
Dim result As System.DirectoryServices.SearchResult
Dim mail As String = ""
'Lister les utilisateurs
rech.Filter = ("(objectClass=user)")
For Each result In rech.FindAll()
'S'assurer de l'existence du mail pour eviter
'les comptes systemes
If (result.GetDirectoryEntry().Properties("mail").Value <> "") Then
For i = 0 To result.GetDirectoryEntry().Properties("memberof").Count - 1
tab1 = Split(result.GetDirectoryEntry().Properties("memberof").Item(i), ",")
tab2 = Split(tab1(0), "=")
'Vérification de l'appartenance au groupe
If (tab2(1) = groupe) Then
mail = mail & result.GetDirectoryEntry().Properties("mail").Value
if (i < (result.GetDirectoryEntry().Properties("memberof").Count - 1) then
mail = mail & ";"
end if
end if
next
end if
next
ObtenirMail = mail
Catch ex As Exception
End Try
end function
Private Sub EnvoiMail(byval login as string, byval motdepasse as string, byval groupe as string, ByVal De as string, ByVal sujet as string, ByVal Message as string)
Dim m As New MailMessage
Dim SMTP_SERV = "server"
Try
m.From = De
m.Subject = sujet
SmtpMail.SmtpServer = SMTP_SERV
' Au format mail m.BodyFormat = MailFormat.Html
Dim Adresses as string = ""
Adresses = ObtenirMail(login, motdepasse, groupe)
if (trim(Adresse) <> "") then
m.Body = Message
m.To = Adresses
SmtpMail.Send(m)
end if
Catch ex As Exception
End Try
End Sub
'Exemple d'utilisation
EnvoiMail("monlogin", "Monmotdepasse", "GPE_Administrateurs", "MonMail", "Salut", "Juste un bonjour")
Conclusion :
Il faudra penser à inclure une référence à System.DirectoryServices, et aussi ajouter en debut de fichier " Imports System.Web.Mail ". Je n'ai pas pensé à inclure la directive imports pour le DirectoryServices, mais avec la référence, ça marche.
J'espere que ça sera utile , bonne prog
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.