none
Windows/Outlook Adressbuch für Email RRS feed

  • Frage

  • Hallo,

    ich nutze MAPI um Email zu schicken. Ich möchte das Windows Adressbuch benutzen, um eine Emailadresse auszuwählen. Weiß jemand, wie ich an das Adressbuch rankomme?

    Oder gibt es einen Emaildialog, der bereits mit dem Adressbuch arbeitet?

    Danke für Hilfe,

    Guido

    Mittwoch, 28. September 2011 10:36

Antworten

Alle Antworten

  • Schau Dir mal das an:
    http://www.codeproject.com/KB/list/Address_book_in_MAPI.aspx


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Mittwoch, 28. September 2011 12:00
    Moderator
  • Danke. Allerdings ist mir aufgefallen, dass das alles sehr veraltet ist (Exchange 5.5, Windows 2000 und ähnliche alte Windows Versionen). Ich will doch Windows 7 ready sein.

     

    Ich möchte in meinem Programm eine neue Email erstellen und mit einem Account in Outlook (Express) verschicken. Dort soll auch das Adressbuch geöffnet werden. Gibt es neuere Emaildialoge, die ich in meinen Source einbauen kann? In Codeproject finde ich nur alte, oder hab ich's einfach nicht gefunden?

    Danke, Guido

    Mittwoch, 5. Oktober 2011 12:05
  • Du hast vom Zugriff aufdas Adressebuch gesprochen. Nicht von Emails...

    Entsprechend habe ich Dir die Anleitung zum Adressbuch gesendet. Da hat sich nichts geändert. Meinst Du in Windows 7 ist alles neu erfunden worden? ;)
    Der größte Teil auch von neuen Betriebsystemen ist immer rückwärtskompatibel.

    Was die Benutzung von Email-Clients betrifft und das versenden von Emails via Dialog, so ist das in jedem Email Programm anders.

    Vielleicht solltest Du Dir mal das mailto Protokoll ansehen:
    http://msdn.microsoft.com/en-us/library/aa767737(VS.85).aspx

    Wenn Du was anderes meinst, dann schreibe explizit was Du suchst.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Mittwoch, 5. Oktober 2011 12:11
    Moderator
  • Ich hatte Probleme, die Exchange SDK mit den nötigen includes zu finden und herunterzuladen. Anscheinend wird die von MS nicht mehr supportet. Deshalb dachte ich, dass das alles schon veraltet ist.

    In meinem Programm ist ein Button "Nachricht per Email senden". Es öffnet sich ein Emaildialog, in dem der Titel, Text und die Attachements bereits eingetragen sind. Der Benutzer braucht also nur noch den Empfänger eintragen (aus dem Windows Adressbuch).

    Ich benutze folgenden Emaildialog: http://www.naughter.com/cmapi.html

    Dort fehlt aber der Zugriff auf das Adressbuch von Windows.

    Für das mailto-Protokoll hab ich keinen Code gefunden. Kann ich vielleicht einfach ein Email-Fenster des Standard-Emailprogramms öffnen, in dem ich die Informationen (Titel, Text, Attachements) bereits eintragen kann? (Möglicherweise benutzt der Windows Client ja ein anderes Emailprogramm als Outlook Express).

    Danke für Hilfe, Guido

    Mittwoch, 5. Oktober 2011 12:51
  • Du schmeißt einiges durcheinander und ich weiß eigentlich immer noch nicht was Du möchtest.
    1. mailto Protokoll ist einfach eine Befehlszeile die man mit Shellexecute ausführen kann. Suche nach "ShellExceute mailto"!
    2. mailto kann keine "offiziell" Attachments, siehe mein Link und die Kommentare!
    3. Jeder Mail-Client ist anders und es gibt keine Standardform diese zu bedienen.
    4. Simple Mapi ist wieder was anderes.
    5. Outlook (nicht Express) kann man auch per OLE Automation, bedienen (aber nicht Thunderbird etc.)

    Willst Du nun auf ein Adressbuch (auch davon gibt es viele) zugreifen oder eine Email senden?
    Ich verstehe Deine Anfrage nicht ganz.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Mittwoch, 5. Oktober 2011 13:40
    Moderator
  • In meinem Programm ist ein Button "Nachricht per Email senden". Es öffnet sich ein Emaildialog, in dem der Titel, Text und die Attachements bereits eingetragen sind. Der Benutzer braucht also nur noch den Empfänger eintragen (aus dem Windows Adressbuch).

    Im Grunde will ich in meinem Programm also das machen, was passiert, wenn man in Outlook Express auf "Neu" klickt. Nur dass in meinem Programm schon Texte und Attachements mitgegeben werden. Und um es dem Benutzer einfach zu machen, eine Emailadresse auszuwählen, wollte ich das Adressbuch von Windows verwenden. Im Moment muss der Benutzer die Emailadresse noch eintippen.

    Da "ShellExecute mailto" nicht eindeutig mit Attachements umgeht, werde ich es nicht benutzen. Ich bleibe also bei dem Simple Mapi Emaildialog und erweitere ihn um die Auswahl einer Emailadresse aus dem Windows Adressbuch. Es sieht so aus, als gäbe es keinen Demosource für einen Emaildialog, der das Windows Adressbuch verwendet. Also werde ich die Exchange SDK nutzen, um auf das Windows Adressbuch zuzugreifen, wo ich mir die Emailadresse dann rausholen kann.

     

    Vielen Dank für den Lösungsweg.  Guido

    Mittwoch, 5. Oktober 2011 14:57
  • Nochmal: Es gibt keinen Email Dialog.
    Diese Dialoge stammen alle aus dem jeweiligen Email Client, auch bei SimpleMapi.
    Es gibt auch kein Standard Adressebuch, auch das Adressebuch stammt jeweils aus dem Client, dass angeboten wird.

    Ich denke Du solltest bei SimpleMapi bleiben, allerdings ist da nichts mehr "dazuzuprogrammieren".

    Hier gibt es massenweise Stoff:
    http://www.msxfaq.de/code/mapicdo.htm

    Siehe auch:
    http://support.microsoft.com/kb/171096
    http://kb.mozillazine.org/MAPI_Support


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    • Als Antwort markiert der Guido Donnerstag, 6. Oktober 2011 09:34
    Donnerstag, 6. Oktober 2011 05:58
    Moderator
  • Alles ok. Vielen Dank für die Hilfe und die Links.

    Guido

    Donnerstag, 6. Oktober 2011 09:33