Synapse TLDAPSEND abfrage nur die Mailadresse

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Biertrinker
Beiträge: 16
Registriert: Mo 18. Mär 2013, 17:19
OS, Lazarus, FPC: MAC OSX
CPU-Target: xxBit

Synapse TLDAPSEND abfrage nur die Mailadresse

Beitrag von Biertrinker »

Hallo,

weiss jemand ob und wenn ja wie es möglich ist mittels ldap.search nur die Mailadresse
aus einen LDAP abzufragen ( also ohne das weitere Infos wie bsp den "Attribute: mailPrimaryAddress" mit kommen,
oder muss man die überflüssigen Infos mittels String Utils raus filtern

Ziel ist es, die MailAdresse bsp direkt in einem Label anzuzeigen


Aktuell habe ich folgend Abfrage

Code: Alles auswählen

.
.
.
 Attribute.Add('memberUid');
 Attribute.Add('mailPrimaryAddress');  
.
.
.
  ldap.Search(LDAP.UserName , false, '(objectclass=*)',Attribute);

  abfrageergebniss_Mail:=LDAPResultDump(ldap.SearchResult); 
  Memo1.Append(abfrageergebniss_Mail);    
   
 
Im Memo steht dann folgendes:
----------------
Results: 1

Result: 0
Object: uid=test,cn=users,dc=haus-rose,dc=local
Attribute: mailPrimaryAddress
hans.test@haus-rose.local

------------------
mfg
Horst Sammler

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Synapse TLDAPSEND abfrage nur die Mailadresse

Beitrag von charlytango »

nun, ich kenne mich mit ldap jetzt nicht wirklich aus, würde aber bei '(objectclass=*)' ansetzen.
Scheinbar holst du mit * alle Objektklassen ab.
Ohne mich eingelesen zu haben: Hast du schon mal keck '(objectclass=mail)' probiert?

Kurz googlen nach "ldap search" oder nach "ldap search mail" zeigt dass es da eine ganze Abfragesprache zu geben scheint. Bin sicher da findest du etwas das die die Mailadresse ausgibt.

Andernfalls sehe ich auch kein Problem die letzte Zeile der Stringlist auszuwerten die du zurück bekommst und zu prüfen ob es eine gültige Mailadresse ist.

schoschy
Beiträge: 20
Registriert: Di 18. Okt 2022, 15:46

Re: Synapse TLDAPSEND abfrage nur die Mailadresse

Beitrag von schoschy »

Du kannst einzelne Attribute abholen.
Sollte in der Liste sein, frei aus dem Kopf in etwa so:

Code: Alles auswählen

TLDAPResultList[n].Attributes.Get(Attribute: AnsiString)
Grüße

Antworten