E-Mail-Gruppenauflösung

  • Hallo,


    ich habe eine Gruppe die heisst BLA. In dieser Gruppe sind E-Mail-Adressen innerhalb und auch ausserhalb des Hauses.


    Jetzt bekomme ich eine E-Mai mit dem Empfänger BLA. Wie kann ich per Code aus dieser Grupper die einzelnen zugehörigen E-Mails herauslesen.


    Danke


    Schönen Gruß


    Asim


  • Hallo,


    der Kunde möchte statt BLA die E-Mail-Adressen für eine weitere Bearbeitung. Die hier erst einmal unwichtig ist und nicht ins Notes gehört.


    Gruß


    Asim

  • - Wer bist Du (Anwender / Entwickler)
    - Was kannst Du (Formel, LotusScript?)
    - Wie, warum und wie oft brauchst Du das (einmalig, regelmässig, im Hintergrund, per Benutzeraktion...)



    Manuell geht das so:


    - BLA in einer neuen Mail eintragen
    - Mehr -> Öffentliche Gruppe erweitern
    - Ergebnis rauskopieren


    Mehr Input -> Mehr Output...


  • Hallo,


    ich bin Entwickler und das soll per VB6 oder C# gemacht werden, Von mir auch mit LotusScript.


    Das soll immer wieder gemacht werden, wenn es sich um Gruppen handelt und das automatisch ohne das jemand das per Hand ansteuern muss. Beim öffnen einer Mail wäre auch ausreichend.


    Hoffe, dass waren Infos genug.


    Gruß


    Asim

  • Hi,


    Und fuer LS, grob skizziert ohne Code.


    - names.nsf auf dem Server oeffnen
    - eine Ansicht einstellen, in der auch Gruppen aufgelistet werden
    - Namen der betreffenden Gruppe suchen
    - Inhalt des Feldes "Members" auslesen



    Andreas

  • Beim öffnen einer Mail -> Geht nur per Änderung im Design der Standard- Mailschablone mit LotusScript- Code -> Sollte nur ein erfahrener Entwickler machen, sonst geht's schief...


    Wenn Du Dich dran versuchen willst (obwohl ich persönlich als Dienstleister ja solche Stunts mit Dingen, die so tief ins System meines Kunden eingreifen und von denen ich keine Ahnung habe lassen würde):


    - NotesDocument.GetItemValue( "SendTo" ), NotesDocument.GetItemValue( "CopyTo" ), NotesDocument.GetItemValue( "BlindCopyTo" ) um an die Feldwerte zu kommen
    - new NotesDatabase( NotesSession.CurrentDatabase.Server, "names.nsf" ) um ans Globale Adressbuch zu kommen
    - NotesDatabase.GetView( "Groups" ) um an die Ansicht mit allen Gruppen zu kommen
    - Durchlaufen der Arrays mit allen Empfängern und per NotesView.GetDocumentByKey( ArrayWert(i) ) prüfen, ob es eine Gruppe mit diesem namen gibt.
    - Members der Gruppe auslesen per NotesDocument.GetItemvalue( "Members" ) und rekursiv diese durchlaufen, um verschachtelte Gruppen ebenfalls aufzulösen
    - Mit dem Ergebnis machen, was immer Sie wollen


    Alternativ könnte man die Memo- Maske und die Reply- Masken um ein Feld erweitern, was über @Formeln ein ComputedForDisplay- Feld berechnet, das die Namensauflösung macht...


  • Hallo Torsten,


    vielen Dank. Das sind schon viele Infos. Kann damit auch was anfangen.


    Eine Frage hätte ich noch: Wenn ich SendTo auslese per COM, bekomme ich eine CN/bla bla bla Adresse ausgelesen. Diese kann ich auch in den Eigenschaften der E-Mail mir ansehen. Wie bekomme ich am einfachsten die richtige E-Mailadresse, also schniek@schnak.de. Bisher wurde das per LDAP-Anfrage gemacht.


    Eine noch: Kennst Du einen guten Notes-Entwickler/Systemhaus im Raum Berlin/Brandenburg, den Du empfehlen kannst. Nur für Auftragsaufgaben und Hilfe bei kleineren Projekten.


    Danke


    Gruß


    Asim

  • Das auslesen der Mail- Adresse funktioniert genauso wie das auslesen der Members einer Gruppe. Nur das die Ansicht für das getDocumentByKey nicht "Groups" sondern "($Users)" heisst. Der Schlüssel ist der hierarchische Name, Rückgabewert ist dann das Feld "InternetAddress" (getItemValue( "InternetAddress" ) des Dokuments, das getDocumentByKey zurückgeliefert hat).


    In Berlin / Umgebung kenne ich leider niemanden, wir sind im Süden Deutschlands beheimatet. Wenn es aber um kleiner Auftragsarbeiten geht: Die kann man ja im Notes- Umfeld meist vom Büro aus machen, da sind grössere Entfernungen eigentlich kein Problem...