Das Notes Forum

Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: poppsy am 08.11.07 - 17:43:11

Titel: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag 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

Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: WernerMo am 08.11.07 - 18:10:16
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
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: Axel am 08.11.07 - 19:52:45
In welcher Datenbank ist denn der Empfängername hinterlegt?


Axel
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: poppsy am 09.11.07 - 10:47:53
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
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: Axel am 09.11.07 - 11:14:05
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

Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: poppsy am 09.11.07 - 14:23:01
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 :-(
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: koehlerbv am 09.11.07 - 14:30:18
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)
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: m3 am 09.11.07 - 17:38:19
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.
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: koehlerbv am 09.11.07 - 17:42:27
Aber nicht unbedingt aus VBA heraus, Martin ... Das kann in die Hose gehen. Die Frage ist, ob das notwendig ist.

Bernhard
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: m3 am 09.11.07 - 17:45:52
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. :)
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: koehlerbv am 09.11.07 - 17:52:42
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
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: poppsy am 09.11.07 - 20:28:03
...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

Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: koehlerbv am 09.11.07 - 21:38:42
Ich kenn mich mit Notes überhaupt nicht aus

Schlicht und ergreifend: So wird das nichts.
Bernhard
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: poppsy am 10.11.07 - 07:28:11
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
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: eknori am 10.11.07 - 09:48:08
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.
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: eknori am 10.11.07 - 10:41:52
Allerdings ist es in VBA auch kein Hexenwerk, zu prüfen, ob ein Absender im DD vorhanden ist

Zitat
    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.
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: Axel am 10.11.07 - 15:35:35
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
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: poppsy am 11.11.07 - 18:36:13
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! :-)       
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: koehlerbv am 11.11.07 - 23:37:43
@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 ...
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: Axel am 12.11.07 - 08:34:38
@Axel und Bernhard
Ätsch! :-)       

Mit solchen Aussagen sinkt die Bereitschaft hier zu helfen ganz gewaltig.


Axel
Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) prüfen
Beitrag von: poppsy am 12.11.07 - 14:10:57
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

Titel: Re: Per VB Mailversand Access nach Notes, aber voher die E-Mail Adr. (String) pr
Beitrag von: eknori am 12.11.07 - 14:12:03
Zitat
Der Tipp kam von Ulrich

Hatte Bernhard schon viel früher geschrieben ...