Das Notes Forum
Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: poppsy am 08.11.07 - 17:43:11
-
Hallo Formumianer,
bin neu und habe eine Frage. Eventl. hat einer für mich was passendes....
Ich versende per Code (VB, bzw VBA) in Access2000 ein Text per E-Mail an Lotus Notes 6.5
Die Mail wird an die Empfänger Adressen, die ich per Sting vorher ausgewählt habe, prima übertragen.
Meine Frage aber nun ist. Gibt es hier auch die Möglichkeit vor dem Versenden der E-Mail, aus Access zu prüfen, ob die Empfänger E-Mail Adr. in Notes hinterlegt ist (also der Epfänger-String korrekt geschrieben ist) ?
Ich möchte vermeiden, dass beim Versenden der E-Mail dem user aus Lotos Notes dann eine Fehlermeldung erscheint, wie z.B. Empfänger unbekannt oder so.
Somit kann kann voher geprüft werden ob die e-Mail adr. korrekt ist. Dann brauch der user nicht ständig die Empfänger neu anschreiben nachdem er die Empfängeradr. korrigeirt hat.
Gruß aus Berlin
Ralf
-
Hallo
herzlich willkommen im Forum.
Wenn ich richtig verstehe, möchtest Du auf das Adressbuch von Notes (names.nsf) zugreifen?
Als Methode von extern bietet sich hier LDAP an.
Einfach mal im Forum danach suchen.
Viele Grüße
Werner
-
In welcher Datenbank ist denn der Empfängername hinterlegt?
Axel
-
Hallo Werner
Hallo Axel,
Danke schonmal vorab.
also welche Datenbank ? puhhh. Dachte ich mir schon, dass dies nicht so einfach ist.
Komisch ist nur, wenn ich per Notes ein Mail schreibe und in der CC Zeile die Empfänger eintrage, brauche ich ja auch nur auf F9 drücken und er sucht und setzt/ergänzt mir die E-Mail Adr.
Also Notes such doch automatisch die Datenbank ab.
Nur welche, und wie die heißen?
Keine Ahnung.
Ich dachte das geht auch irgendwie per VB mit einem Code. Indem dann False oder Thrue zurückgegeben wird von Notes.
Giebt es sowas?
Geht sowas?
Gruß Ralf
-
Je nach den Einstellungen in der Arbeitsumgebung kopmmen dafür das persönliche Adressbuch des Anwenders und/oder das öffentliche Adressbuch (Domino Directory) in Frage.
Ich dachte das geht auch irgendwie per VB mit einem Code. Indem dann False oder Thrue zurückgegeben wird von Notes.
Giebt es sowas?
Geht sowas?
Geben tut's da nix.
Gehen tut so was schon, aber nur mit Programmieraufwand
Axel
-
Axel,
genau das meine ich! Und genau sowas suche ich.
Das ist doch schon mal prima. Nur wüsste ich gerne wer hier mir da einen Ansatz geben kann wie die Prozedur in VB lauten müsste.....
Gibt es hierfür schon was im Forum? (unter welchen Suchbegriff sollte ich da schauen?)
Oder hast Du da schon etwas in Deinen Programmen eingebaut (VB technisch)
Danke schon mal vorab
Gruß Ralf
aus dem verregneten Berlin :-(
-
Du müsstest Dich selbst auf Adresssuche begeben. Hierzu müsste auf dem Domino-Server das Domino Directory (names.nsf) instantiiert werden. Dort gibt es eine Ansicht namens "($Users)" - und dort müsste dann die Mailadresse stehen, wenn sie korrekt ist (NotesView.GetDocumentByKey (adresse, True).
Das funktioniert auf jeden Fall von VBA aus - Zugang zum Domino vorausgesetzt, sonst geht es gar nicht.
HTH,
Bernhard (im verschneiten Chiemgau)
-
Ich würd auf notesSession.AddressBooks (http://www.lotus.com/ldd/doc/domino_notes/6.5.1/help65_designer.nsf/855dc7fcfd5fec9a85256b870069c0ab/6c8ef4f0b4a0895885256e00004ac50c?OpenDocument&Highlight=0,notesSession.AddressBooks) setzten, um alle für den User relevanten Adressbücher zu durchsuchen.
-
Aber nicht unbedingt aus VBA heraus, Martin ... Das kann in die Hose gehen. Die Frage ist, ob das notwendig ist.
Bernhard
-
Aber nicht unbedingt aus VBA heraus, Martin ... Das kann in die Hose gehen. Die Frage ist, ob das notwendig ist.
Also laut Doku müsste die Funktion auch via COM das gewünschte Resultat ergeben.
Und ich würd drauf setzten - was wäre, wenn beispielsweise die Empfänger (Kunden) alle in einem zweiten Adressbuch stehen? Defensiv programmieren, sag ich. :)
-
Defensiv ist immer gut, Pete. Ich vermute aber, dass diese Access-VBA-Applikation auf einen ganz bestimmten Notes-Datenbestand "schielt", und irgendetwas lokales oder anderweitig eingebundenes könnte da daneben zielen.
Interessant wäre m.E. vor allem, auf was die Kiste, auf der diese Access-Applikation läuft, notesseitig Zugriff hat. Ich revidiere dann auch gerne meine Aussage wegen NotesSession.AddressBooks ;)
Bernhard
-
...ach wenn's weiter nichts ist......
(schulterzuck)
Also die Adressen sind in Notes auf unseren Lokalen Server. Auf keinen Fall im persönlichen Adressbuch.
Ich kenn mich mit Notes überhaupt nicht aus (da wärt Ihr jetzt mal so gar nicht drauf gekommen)
Hat jemand von Euch ein Beispielcode den ich mal ausprobieren kann?
Fragt mich etwas bezüglich Access oder VB (VBA) aber bitte nichts was in Richtung Lotus geht...
Den Code zum Versenden von Mails an Notes habe ich (so wie viele andere bestimmt auch) - sagen wir mal "abgeleitet" übernommen und bin soweit überglücklich das es funzt.
Nur wenn dann Notes beim User auf Gesendete Mails geht und dort ist dann ein "Return" oder "Mail Dammon" oder so ähnlich, weil eine CC Empfänger Adr. nicht existiert, weil irgendein Adrmin die Schreibweise verändert hat (das kommt bei uns mal häufiger vor), ist ja jedem klar, dass dann der User sehr verärgert ist und den ganzen Versand manuell oder nochmal neu machen muss über Access oder über Notes (vorher natürlich die CC Empfänger korrigieren.).
Ihr wisst ja was ich meine, ich wiederhole mich wieder nur. Sorry.
Ich brauch nur ein Beispiel....
Wenn Ihr Fragen habt, dann gerne.....!
Gruß Ralf
-
Ich kenn mich mit Notes überhaupt nicht aus
Schlicht und ergreifend: So wird das nichts.
Bernhard
-
Bernhard,
das ist mir zu einfach....."So wird das nichts."
Warum gibt es dann unzählig viele Beispiel Codes für VB zum versenden von Mails aus Access nach Notes?
Gruß Ralf
-
Nur so eine Idee:
Du könntest doch per ODBC das Domino Directory ( Adressbuch ) des Servers als verknüpfte Tabelle in der Access Datenbank anlegen und es dem User dann ermöglichen, die Adressen von dort auszuwählen.
Kommt drauf an, wie du den Aufwand einschätzt en ODBC Treiber für Notes auszurollen.
-
Allerdings ist es in VBA auch kein Hexenwerk, zu prüfen, ob ein Absender im DD vorhanden ist
Dim dd As Object 'The Domino Directory database
Dim Session As Object
Dim view As Object
Dim doc As Object
Dim item As Object
Set Session = CreateObject("Notes.NotesSession")
Set dd = Session.GETDATABASE("<DeinServer>", "names.nsf")
If dd.ISOPEN = True Then
Set view = dd.GETVIEW("($VIMPeople)")
Set doc = view.GETDOCUMENTBYKEY("Hein Bloed/Maus/De")
If Not doc Is Nothing Then
MsgBox "gefunden"
End If
Else
' dd nicht geöffnet => Fehlerbehandlung
End If
Ich denke, damit solltest du klarkommen.
In Notes muss man sich nur von Object zu Object abseilen. Also ausgehend von der Session über die Datenbank, vorbei an der Ansicht bis zum Document.
-
Bernhard,
das ist mir zu einfach....."So wird das nichts."
Warum gibt es dann unzählig viele Beispiel Codes für VB zum versenden von Mails aus Access nach Notes?
Das hat nichts damit zu tun, dass es nicht funktioniert. Das siehst du auch an den Beispielcodes. Das kann schon was werden.
Aber, dafür muss du auch Ahnung haben, wie Notes grundlegend funktioniert und programmiert (in deinem Fall besonders die Script-Klassen) werden will. Dir nutzt das beste Beispiel nichts, wenn du nicht verstehst warum was passiert und vorallem, warum was nicht funktioniert so wie du es dir vorstellst.
Genau das ist das was Bernhard gemeint hat.
Axel
-
Hi Ulrich,
das ist doch mal ne tolle Idee.!
Also mit:
"If dd.ISOPEN = True Then"
(davon geh ich ja mal aus)
wird:
"Set view = dd.GETVIEW("($VIMPeople)")"
(was macht dieser Code? Ist das "Getview" eine Art Ansicht der "People-Datenbank" in Notes lt. Session.GETDATABASE("<DeinServer>", "names.nsf") ???)
dann ist:
"Set doc = view.GETDOCUMENTBYKEY("Hein Bloed/Maus/De")" wohl True oder eben nicht....
Das find ich klasse!!!!
Also Ulrich....
wenn das funzt, ja dann, ja... freu ich mich ....
Schade nur, dass ich privat kein Notes habe....(daher auch so wehnig ahnung, sonst würde ich sicherlich hier auch mehr ausprobieren können)
Aber morgen versuch ich es direkt mal In Office.
Ulrich, ich gebe dann Bescheid ob es klappt....(dann kannste Dich mitfreuen... :-))
@Axel und Bernhard
Ätsch! :-)
-
@Axel und Bernhard
Ätsch! :-)
Schauen wir mal! ;)
Wenn dieser Zustand
Ich kenn mich mit Notes überhaupt nicht aus
eine Wendung nimmt, dann würde sicherlich nicht nur ich es wieder als lohnenswert empfinden, "poopsy" zu helfen.
By the way: Die oben genannte Ansicht dürfte sehr wenig hilfreich sein. Um die Notes-Funktionalität der Adressensuche und -überprüfung zu nutzen - und das "von aussen"! - braucht es schon etwas mehr. Ulrich hat da nur einen Hinweis gegeben. Diesen zu nutzen, braucht man eben doch wenigstens "etwas" Notes-KnowHow.
Wie werden denn überhaupt die Mails aus Access gesendet? Per Notes-Mail oder per SMTP? Auf jeden Fall müsste man zu dem per Überprüfung gefundenen Namen aus einer Ansicht (ich präfereriere hier weiterhin "($Users)") aus dem zugehörigen Dokument die wirkliche Adresse eruieren.
Beispiel:
Wenn man die von Ulrich als Beispiel genannte Ansicht verwenden würde, müsste man mich in der Access-Applikation als "Bernhard Koehler/BKNotes/DE" adressieren. Das würde aber nichts nützen, wenn man via SMTP sendet (via Notes pur schon). Aber wer mag diesen langen String schon eintippen ... *)
Via "($Users)" würde es ausreichen (um bei meinem Beispiel zu bleiben), "bkoe" einzutippen. Das findet sich in der Ansicht. Im Dokument findet sich dann die richtige Adresse (je nach Bedarf: Die Notes-Adresse oder die via SMTP erreichbare).
"poopsy", es gibt also noch viel zu lernen. Und das lohnt sich, sagt meine persönliche Erfahrung. Sehr viele helfen hierbei gerne, aber die Form der Zusammenarbeit muss dann auch stimmen. Da sehe ich derzeit noch eklatante Defizite.
Bernhard
*) Richtig elegant würde es, wenn man das gesammelte KnowHow benutzt, um dem Access-User gleich die Adress-Auswahl aus dem Domino Directory anzubieten ...
-
@Axel und Bernhard
Ätsch! :-)
Mit solchen Aussagen sinkt die Bereitschaft hier zu helfen ganz gewaltig.
Axel
-
So, hat natürlich geklappt.
Und nochmals Danke.
Und für die, die hier im Forum eventl. auch die gleiche Antwort suchten:
wenn: view.GETDOCUMENTBYKEY("Hein Bloed/Maus/De")" nicht klappen sollte, da die Adr. Hein Bloed/Maus/De mit "@blabla" endet,
sollte einfach die Ansicht ändern
von view = dd.GETVIEW("($VIMPeople)") auf view = dd.GETVIEW("($Users)") .
Der Tipp kam von Ulrich
Danke @Ulrich
Gruß Ralf
-
Der Tipp kam von Ulrich
Hatte Bernhard schon viel früher geschrieben ...