Freigeben über


Auswählen einer API oder einer Technologie zum Entwickeln von Outlook-Lösungen

Zusammenfassung: In diesem Artikel werden die einzelnen APIs und Technologien beschrieben, mit denen Sie Microsoft Outlook erweitern können. Die entsprechenden Auswertungen sollen Ihnen helfen, die geeignete API oder Technologie für die Entwicklung von Lösungen auszuwählen.

Letzte Änderung: Mittwoch, 10. Oktober 2012

Gilt für: Office 2007 | Outlook | Outlook 2007 | Outlook 2010 | Visual Studio

Inhalt dieses Artikels
Übersicht
Objektive Auswertungskriterien
Argumente für das Objektmodell oder die PIA
Argumente für die MAPI
Argumente für die Hilfs-APIs
Prozessinterne gegenüber prozessexternen Lösungen
Verwaltete gegenüber nicht verwalteten Lösungen
Nischen-APIs und -Technologien
Schlussbemerkung
Weitere Ressourcen – Objektmodell und PIA
Weitere Ressourcen – Hilfs-APIs
Weitere Ressourcen – Wichtige Referenzen, Ressourcen und Codebeispiele

Veröffentlicht: April 2011

Bereitgestellt von: Angela Chu-Hatoun, Microsoft Corporation

Inhalt

  • Übersicht

  • Objektive Auswertungskriterien

  • Argumente für das Objektmodell oder die PIA

  • Argumente für die MAPI

  • Argumente für die Hilfs-APIs

  • Prozessinterne gegenüber prozessexternen Lösungen

  • Verwaltete gegenüber nicht verwalteten Lösungen

  • Nischen-APIs und -Technologien

  • Schlussbemerkung

  • Weitere Ressourcen – Objektmodell und PIA

  • Weitere Ressourcen – Hilfs-APIs

  • Weitere Ressourcen – Wichtige Referenzen, Ressourcen und Codebeispiele

Übersicht

Microsoft unterstützt verschiedene APIs und Technologien, mit denen Microsoft Outlook erweitert werden kann – das Outlook-Objektmodell und die zugehörige primäre Interopassembly (Primary Interop Assembly, PIA) von Outlook, die Messaging API (MAPI), Hilfs-APIs, Erweiterbarkeit über den Anbieter Outlook Social Connector (OSC) und Microsoft Office Mobile Service (OMS). Das Objektmodell, die PIA, die MAPI und die Hilfs-APIs werden in den meisten Outlook-Lösungen verwendet. Die Erweiterbarkeit über den OSC-Anbieter sowie OMS dienen spezifischeren Zwecken, nämlich dem Integrieren von Daten aus sozialen Netzwerken in Outlook und dem Integrieren von mobilen Endgeräten in die Outlook- und Microsoft SharePoint-Funktionen für mobile Nutzung. Da in den meisten vorhandenen Outlook-Lösungen das Objektmodell, die PIA und die MAPI verwendet werden, werden in diesem Artikel die Auswahlkriterien für diese APIs erläutert. Beachten Sie, dass in einer Lösung nicht unbedingt nur eine einzige API verwendet werden muss. Beispielsweise können in einem in C++ geschriebenen COM-Add-In das Objektmodell, die MAPI und Hilfs-APIs gleichzeitig genutzt werden.

Die Informationen in diesem Artikel sind dann besonders nützlich für Sie, wenn Sie mit Outlook auf der Benutzerebene vertraut sind und über allgemeine Kenntnisse in der Softwareentwicklung verfügen. Sie benötigen jedoch kein Detailwissen über die Features, die von diesen APIs oder Technologien unterstützt werden. Dieser Artikel hilft Ihnen, folgende Fragen zu beantworten:

  • Wenn Sie eine Vorstellung vom Zweck der zu entwickelnden Lösung, ihren Zielmärkten und den verfügbaren Ressourcen haben, welche anderen Kriteren sollten Sie für die Auwahl einer API berücksichtigen?

  • Wenn die Lösung mit früheren Verionen von Outlook, einschließlich Outlook 2003, ausgeführt werden muss, inwiefern beeinflusst das die Auswahl einer API?

  • Wenn die Lösung Outlook-Ordner durchlaufen muss, die Tausende von Elementen enthalten, und Sie die Möglichkeit brauchen, diese Elemente zu ändern, welche API ist dann am besten geeignet?

  • Wenn Ihre Lösung die Outlook-Geschäftslogik umfassend nutzt und mit anderen Office-Anwendungen interagiert, ist dann das Outlook-Objektmodell die beste Wahl?

  • Was können Sie mithilfe des Objektmodells und der MAPI in Outlook erweitern?

  • Wenn für Ihre Zwecke sowohl das Objektmodell als auch die MAPI geeignet ist, wonach entscheiden Sie dann, welche API Sie verwenden sollten?

In den folgenden Abschnitten dieses Artikels werden Auswahlkriterien erklärt:

  • Objektive Auswertungskriterien – Objektive funktionale, entwicklungsbezogene, sicherheitsbezogene und bereitstellungsspezifische Merkmale des Objektmodells, der PIA und der MAPI.

  • Argumente für das Objektmodell oder die PIA – Eine Liste der wichtigsten Kriterien, die bei Auswahl des Objektmodells oder der PIA zu berücksichtigen sind.

  • Argumente für die MAPI – Eine Liste der wichtigsten Kriterien, die Sie bei Auswahl der MAPI berücksichtigen sollten.

  • Argumente für die Hilfs-APIs – Eine Liste der Hauptkriterien, die bei Auswahl der Hilfs-APIs berücksichtigt werden sollten.

  • Prozessinterne gegenüber prozessexternen Lösungen – Eine Liste der wichtigsten Aspekte, die Sie berücksichtigen sollten, wenn Sie überlegen, ob die zu implementierende Lösung innerhalb des Outlook-Prozesses ausgeführt werden soll oder außerhalb davon.

  • Verwaltete gegenüber nicht verwalteten Lösungen – Eine Liste der wichtigsten Kriterien, die Sie einbeziehen sollten, wenn es darum geht, ob Sie eine verwaltete oder eine nicht verwaltete Lösung erstellen sollen.

  • Nischen-APIs und -Technologien – Eine allgemeine Beschreibung der Erweiterbarkeit über den OSC-Anbieter sowie von OMS plus eine Liste zusätzlicher Informationsquellen.

Objektive Auswertungskriterien

In diesem Abschnitt werden Kriterien beschrieben, anhand derer Sie das Objektmodell, die PIA und die MAPI miteinander vergleichen können, um herauszufinden, welche Methode Ihre Anforderungen am besten erfüllt. Dabei können die verschiedenen Kriterien je nach Projekt und verfügbaren Ressourcen mehr oder weniger ins Gewicht fallen.

Objektive Auswertungskriterien für das Objektmodell und die PIA

Lösungen, die auf dem Clientcomputer ausgeführt werden, können das Outlook-Objektmodell oder die PIA verwenden, um programmgesteuert auf Outlook-Elemente zuzugreifen, z. B. Kontakte, Nachrichten, Kalenderelemente, Besprechungsanfragen und Aufgaben. Anders als die MAPI können das Outlook-Objektmodell und die PIA Ereignisbenachrichtigungen für Änderungen in der Outlook-Benutzeroberfläche bereitstellen, z. B. für das Wechseln des aktuellen Ordners oder das Anzeigen eines Outlook-Inspektors.

Hinweis

Damit eine Lösung auf Daten zugreifen kann, die in einem Microsoft Exchange-Postfach oder in einer PST-Datei gespeichert sind, muss Outlook auf dem Clientcomputer installiert und konfiguriert sein, auf dem die Anwendung ausgeführt wird.

Das Outlook-Objektmodell und die PIA unterstützen die gleichen Funktionen zum Erweitern von Outlook. Die PIA definiert verwaltete Schnittstellen, die dem COM-basierten Objektmodell entsprechen und mit denen eine verwaltete Lösung interagieren kann. In den weiteren Erklärungen in diesem Abschnitt gelten die meisten funktionalen, sicherheitsbezogenen und bereitstellungsspezifischen Kriterien gleichermaßen für das Objektmodell und die PIA. Weitere Informationen dazu, wie die PIA die Interoperabilität zwischen COM und dem .NET Framework erleichtert, finden Sie unter Einführung in die Interoperabilität zwischen COM und .NET und Architektur der Outlook PIA.

In den Tabellen in diesem Abschnitt werden Auswertungskriterien beschrieben, die sich wie folgt kategorisieren lassen:

  • Funktionale Kriterien – Es wird beschrieben, was Sie mit der Technologie tun können und was nicht.

  • Entwicklungsbezogene Kriterien – Hier werden die Entwicklungstools oder Informationen erklärt, die Sie benötigen, um die Technologie verwenden zu können.

  • Sicherheitsbezogene Kriterien – Hier werden Sicherheitsaspekte und Informationen in Bezug auf Berechtigungen im Zusammenhang mit der Technologie erläutert.

  • Bereitstellungsspezifische Kriterien – Die empfohlenen Bereitstellungs- und Verteilungsmethoden für die Technologie werden beschrieben.

In den folgenden Tabellen werden Auswertungskriterien für das Outlook-Objektmodell und die PIA beschrieben.

Funktionale Kriterien

Kriterium

Outlook-Objektmodell oder PIA

Anwendungsdomäne

Add-Ins oder eigenständige Anwendungen, in denen das Outlook-Objektmodell oder die PIA verwendet wird, dienen typischerweise zum Behandeln von benutzerspezifischen Nachrichten, Anpassen der Outlook-Benutzeroberfläche oder Erstellen von benutzerdefinierten Elementtypen für spezialisierte Lösungen wie etwa CRM-Lösungen (Customer Relationship Management, Kundenbeziehungsmanagement), die mit Outlook integriert sind. Das Outlook-Objektmodell oder die PIA wird manchmal für die Nachrichtenverarbeitung in einem informellen Workflowprozess verwendet, besonders dann, wenn die Anwendungsentwicklung auf Microsoft Exchange Server nicht erlaubt ist. Anders als browserbasierte Clients können Outlook-Lösungen dank des Cache-Modus auch dann ausgeführt werden, wenn der Benutzer offline ist oder keine Verbindung mit dem Unternehmensnetzwerk hat.

Übergeordnete Objekte

Das Objekt auf oberster Ebene im Outlook-Objektmodell und in der PIA ist das Application-Objekt von Outlook. Explorers, Conversation, Inspectors, Views, NavigationPane, SolutionsModule, FormRegion und zugehörige Objekte stellen Elemente der Outlook-Benutzeroberfläche dar. NameSpace, Stores, Folders, Accounts, AccountSelector, AddressEntries, ExchangeUser und damit zusammenhängende Objekte unterstützen das Erweitern von Outlook-Sitzungen, -Profilen, -Benutzerkonten, -Nachrichtenspeichern und -Ordnern. Auf Datenebene stellen eine Reihe von Objekten auf Elementebene, z. B. MailItem, AppointmentItem, ContactItem und TaskItem, die integrierten Outlook-Elementtypen dar. PropertyAccessor, Table, Search, ItemProperties, UserDefinedProperties, Attachments, Categories, Recipients, RecurrencePattern, Reminders, Rules und damit zusammenhängende Objekte unterstützen das Anpassen und Manipulieren von Objekten auf Elementebene.

Datenzugriffsmodell

Im Outlook-Objektmodell und in der PIA werden alle Daten als hierarchisch strukturierter Satz von Objekten und Auflistungen dargestellt.

Threadmodelle

Alle Aufrufe des Outlook-Objektmodells und der PIA werden im Haupt-Vordergrundthread von Outlook ausgeführt. Das einzige vom Outlook-Objektmodell unterstützte Threadmodell ist Single-Thread Apartment (STA). Das Aufrufen des Outlook-Objektmodells oder der PIA aus einem Hintergrundthread wird nicht unterstützt und kann Fehler und unerwartete Ergebnisse in einer Lösung verursachen.

Anwendungsarchitekturen

In COM-Add-Ins und anderen Microsoft Office-Anwendungen wird typischerweise das Outlook-Objektmodell zum Erweitern von Outlook verwendet. Verwaltete Lösungen können die Outlook-PIA und die COM-Interoperabilitätsschicht von Microsoft Visual Studio und .NET Framework verwenden, um auf das Outlook-Objektmodell zuzugreifen. Visual Studio bietet Vorlagen sowie zusätzliche Klassenbibliotheken und Manifeste, um Anpassungen von Office-Dokumenten und -Anwendungen zu erleichtern. Weitere Informationen zum Entwickeln von verwalteten Add-Ins für Outlook mithilfe von Visual Studio finden Sie unter Architecture of Application-Level Add-Ins und Outlook Solutions. Das Outlook-Objektmodell unterstützt auch VBA-Makros (Visual Basic für Anwendungen) und Windows Scripting Host (WSH), aber keine Windows-Dienstanwendungen.

Remoteverwendung

Das Outlook-Objektmodell und die PIA können nur auf einem Computer genutzt werden, auf dem Outlook installiert ist. Mithilfe des Outlook-Objektmodells kann auf in Exchange gespeicherte Informationen, die in der Outlook-Anwendung zur Verfügung stehen, zugegriffen werden.

Transaktionen

Das Outlook-Objektmodell und die PIA unterstützen keine Transaktionen.

Verfügbarkeit

Das Outlook-Objektmodell ist derzeit in allen Versionen von Outlook verfügbar. Die PIA steht in Versionen von Outlook ab Outlook 2003 zur Verfügung. Mit jeder neuen Version von Outlook wurden Erweiterungen und Verbesserungen hinzugefügt.

Entwicklungsbezogene Kriterien

Kriterium

Outlook-Objektmodell oder PIA

Sprachen und Tools

Sie können auf dem Outlook-Objektmodell basierende Anwendungen sowohl in einer beliebigen COM- oder automatisierungskompatiblen Sprache implementieren, z. B. Visual Basic oder C#, als auch in Nicht-COM-Sprachen, etwa systemeigenes C oder C++. Microsoft Office-Entwicklungstools in Microsoft Visual Studio 2010 sind die bevorzugten Tools für die Entwicklung von verwalteten Add-Ins für Outlook 2010 und Outlook 2007. Microsoft Visual Studio 2005-Tools für Microsoft Office System sind die bevorzugten Tools für Outlook 2003. Mit den Office-Entwicklungstools in Visual Studio 2010 können Sie außerdem Lösungen für die 32-Bit- und die 64-Bit-Versionen von Outlook entwickeln. Wenn Sie eine Lösung in Office-Entwicklungstools in Visual Studio 2010 oder in Microsoft Visual Studio-Tools für Microsoft Office System schreiben, werden durch Angabe der Option Beliebige CPU für die Zielplattform verwaltete Lösungen erstellt, die sowohl für 32-Bit- als auch für 64-Bit-Versionen von Outlook 2010 funktionieren.

Verwaltete Implementierung

Dank der Outlook-PIA kann das Outlook-Objektmodell in einer Umgebung mit verwaltetem Code verwendet werden. Diese wird durch ein umfassendes Paket von Klassenbibliotheken und Supporttechnologien unterstützt, mit denen viele der typischen Beschränkungen von VBA- und COM-Add-Ins überwunden werden können. Die PIA ist ein COM-Wrapper, der als Überbrückung zwischen den verwalteten und den COM-Umgebungen fungiert. Weitere Informationen finden Sie unter Zweck der Outlook-PIA.

Skriptfähigkeit

Das Outlook-Objektmodell kann in Skripts verwendet werden.

Test- und Debuggingtools

Wenn Sie das Outlook-Objektmodell oder die PIA nutzen möchten, benötigen Sie keine besonderen Debuggingtools. Andererseits können Sie Visual Studio verwenden, um eine integrierte Entwicklungsumgebung bereitzustellen, die das Testen und Debuggen von Anwendungen erleichtert.

Verfügbarkeit von Experten

Entwickler, die erfolgreich Anwendungen mithilfe des Outlook-Objektmodells oder der PIA entwickeln können, sind relativ leicht zu finden. Das Outlook-Objektmodell und die PIA sind für Add-Ins vorgesehen, die mit gängigen Entwicklungstools wie etwa Visual Studio erstellt werden. Diese Tools bieten Entwurfszeitumgebungen, die den Entwicklungsprozess vereinfachen.

Verfügbare Informationen

Informationen zum Programmieren mithilfe des Outlook-Objektmodells finden Sie in Ressourcen sowohl von Microsoft als auch von Drittanbietern. Weitere Informationen zum Outlook-Objektmodell finden Sie in der Outlook 2010-Entwicklerreferenz. Weitere Informationen zur Outlook-PIA finden Sie unter Referenz zur primären Interopassembly von Outlook 2010. Beispiele für verwaltete Outlook-Lösungen, die mithilfe von Office-Entwicklungstools in Visual Studio entwickelt wurden, finden Sie unter Outlook-Lösungen mit Visual Studio.

Lizenzbestimmungen für Entwicklung und Bereitstellung

Lesen Sie in den Lizenzvereinbarungen für Ihr Exchange- und Microsoft Developer Network (MSDN)-Abonnement nach, welche zusätzlichen Lizenzen Sie u. U. für die Verwendung von Outlook und des Outlook-Objektmodells in Ihren Anwendungen benötigen.

Sicherheitsbezogene Kriterien

Kriterium

Outlook-Objektmodell oder PIA

Berechtigungen zur Entwurfszeit

Für die Entwicklung von Anwendungen mithilfe des Outlook-Objektmodells oder der PIA benötigen Sie keine besonderen Berechtigungen.

Setupberechtigungen

Zum Installieren von Anwendungen, in denen das Outlook-Objektmodell oder die PIA verwendet wird, benötigen Sie keine besonderen Berechtigungen. Allerdings benötigen Sie die Berechtigungen eines lokalen Administrators, um Office und Outlook zu installieren.

Laufzeitberechtigungen

Zum Ausführen von Anwendungen, in denen das Outlook-Objektmodell oder die PIA verwendet wird, benötigen Sie keine besonderen Berechtigungen.

Integrierte Sicherheitsfeatures

Das Outlook-Objektmodell und die PIA kommunizieren mit Exchange über die MAPI und mit Active Directory über die Active Directory Service Interfaces (ADSI). Anhand des aktuellen Sicherheitskontexts des Benutzers, der die Anwendung ausführt, wird ermittelt, auf welche Ressourcen dieser Code zugreifen kann. Standardmäßig gelten Add-Ins als vertrauenswürdig für den vollständigen Zugriff auf alle Objekte, Eigenschaften und Methoden im Outlook-Objektmodell oder in der PIA. IT-Administratoren können steuern, welche Add-Ins und Objekte auf das Outlook-Objektmodell oder die PIA zugreifen können. Das Outlook-Objektmodell und die PIA verhindern, dass Code, der außerhalb des Outlook-Prozesses ausgeführt wird, auf sichere Objekte und Methoden zugreifen kann.

Features für die Überwachung des Sicherheitsstatus

Das Outlook-Objektmodell und die PIA stellen keine zusätzlichen Features für die Überwachung des Sicherheitsstatus bereit.

Bereitstellungsbezogene Kriterien

Kriterium

Outlook-Objektmodell oder PIA

Anforderungen bzgl. der Serverplattform

Das Outlook-Objektmodell und die PIA sind clientseitige Technologien.

Anforderungen bzgl. der Clientplattform

Für Anwendungen, die über das Outlook-Objektmodell oder die PIA auf Exchange-Daten zugreifen, muss Outlook auf dem lokalen Computer installiert sein.

Bereitstellungsmethoden

Anwendungen, in denen das Outlook-Objektmodell oder die PIA verwendet werden, werden mithilfe von standardmäßiger Anwendungsinstallationssoftware verteilt.

Hinweise zur Bereitstellung

Da Outlook nicht auf dem Exchange-Server installiert werden sollte, können Anwendungen, die auf dem Outlook-Objektmodell oder der PIA aufbauen, nicht auf diesem Server ausgeführt werden.

Objektive Auswertungskriterien für die MAPI

Sie können die MAPI für den Zugriff auf Elemente und Ordner in öffentlichen und privaten Speichern sowie für den Zugriff auf die mit jedem Element gespeicherten Eigenschaften verwenden. Die MAPI wird in allen Versionen von Outlook verwendet. Sie können Clients erstellen, die auf der MAPI basieren, und Sie können MAPI-Server und MAPI-Formularhandler erstellen. Die Informationen in diesem Abschnitt gelten nur für MAPI-Clientanwendungen.

Hinweis

Die MAPI ist ein ausgereifter Mechanismus zur Implementierung des Zugriffs auf Informationen in Exchange oder in einer PST-Datei. Sie bietet einige Funktionen, die in keiner anderen API zur Verfügung stehen. Allerdings funktioniert die MAPI außerhalb eines Intranets weniger gut, sie erhält für die Dauer der MAPI-Sitzung eine offene Verbindung aufrecht und kann zudem schwierig zu erlernen sein. Da die MAPI keine Outlook-Geschäftslogik erzwingt, müssen Sie besonders sorgfältig darauf achten, dass die Outlook-Geschäftslogik beibehalten wird.

In den folgenden Tabellen werden Auswertungskriterien für die MAPI beschrieben.

Funktionale Kriterien

Kriterium

MAPI

Anwendungsdomäne

Clientanwendungen, in denen die MAPI verwendet wird, greifen auf ein Benutzerpostfach oder auf in Exchange gespeicherte Informationen in einem öffentlichen Ordner sowie auf in Active Directory gespeicherte Benutzerverzeichnisinformationen zu. Clientanwendungen, die die MAPI verwenden, sind typischerweise E-Mail-Clients, z. B. Outlook, und Anwendungen, die eine komplexe E-Mail-Verarbeitung erfordern.

Übergeordnete Objekte

Alle MAPI-Objekte werden über die IMAPISession : IUnknown-Schnittstelle bezogen. Das Sitzungsobjekt stellt den Clientzugriff auf Objekte für die Verwendung von MAPI-Profilen, Statusinformationen, Nachrichtenspeichertabellen und Adressbüchern sowie die Verwaltung von Nachrichtendienstanbietern bereit. Die Nachrichtenspeichertabellen enthalten Objekte für den Nachrichtenspeicher, Ordner, Nachrichten, Anlagen und Empfänger. Die Adressbuchtabellen enthalten Objekte für Messagingbenutzer und Verteilerlisten.

Datenzugriffsmodell

In der MAPI werden Nachrichten und Benutzer als hierarchisch strukturierter Satz von Objekten dargestellt.

Threadmodelle

Hierfür gelten keine besonderen Beschränkungen. Allerdings sollten in Anwendungen, die Free-Threading verwenden, wegen des hohen Aufwands für das Marshalling von Objekten MAPI-Objekte nicht in den Threads gemeinsam verwendet werden. Die MAPI und MAPI-Dienstanbieter verwenden Free-Threading.

Anwendungsarchitekturen

MAPI-Clientanwendungen sind in der Regel auf Windows Forms basierende Clientanwendungen. Sie können jedoch die MAPI auch zum Schreiben von n-stufigen Anwendungen nutzen.

Remoteverwendung

Die MAPI kommuniziert über Remoteprozeduraufrufe (Remote Procedure Calls, RPCs) mit dem Exchange-Server. Mithilfe von Sperren wird typischerweise verhindert, dass RPCs Internetfirewalls durchqueren.

Transaktionen

Die MAPI unterstützt keine Transaktionen.

Verfügbarkeit

Derzeit wird mit allen Versionen von Windows ein MAPI-Stub ausgeliefert. Office installiert bei der Installation von Outlook ein eigenes MAPI-Subsystem. Gegenwärtig sind keine Änderungen an der MAPI zu erwarten.

Entwicklungsbezogene Kriterien

Kriterium

MAPI

Sprachen und Tools

Mithilfe von C oder C++ können Sie direkt auf die MAPI zugreifen. Andere Sprachen, die auf die C/C++-Aufrufkonvention zugreifen können, können unter Umständen auf die MAPI zugreifen. Die Verwendung von verwalteten Sprachen wie etwa Visual Basic oder C# wird nicht unterstützt. Für 32-Bit- und 64-Bit-Versionen von Outlook müssen Sie separate MAPI-Lösungen kompilieren.

Verwaltete Implementierung

Die MAPI ist eine nicht verwaltete Komponente. Die Verwendung der MAPI wird unter der COM-Interoperabilitätsschicht von Visual Studio und .NET Framework nicht unterstützt. Weitere Informationen zur MAPI-Unterstützung für verwaltete Komponenten finden Sie im Knowledge Base-Artikel 266353: Supportrichtlinien für die Entwicklung von clientseitigen Messaginglösungen.

Skriptfähigkeit

Die MAPI kann nicht direkt in Skripts verwendet werden.

Test- und Debuggingtools

Zum Debuggen von Anwendungen, in denen die MAPI verwendet wird, benötigen Sie keine besonderen Debuggingtools. Allerdings können Sie MFCMAPI (in englischer Sprache) verwenden. MFCMAPI stellt mithilfe der MAPI Zugriff auf MAPI-Speicher über eine grafische Benutzeroberfläche bereit und erleichtert die Analyse von Problemen beim Erweitern von Outlook anhand der MAPI.

Verfügbarkeit von Experten

Entwickler, die auf das Programmieren mit der MAPI spezialisiert sind, sind u. U. schwer zu finden. Das Erlernen der Technologie kann zudem geraume Zeit in Anspruch nehmen. Neben den Microsoft-Communitys gibt es nur relativ wenige hochwertige Websites von Drittanbietern, die hilfreiche Informationen zur Entwicklung von Lösungen mithilfe der MAPI bieten.

Verfügbare Informationen

Es sind sowohl Bücher von Microsoft als auch Publikationen von Drittanbietern zum Thema MAPI-Programmierung erhältlich.

Lizenzbestimmungen für Entwicklung und Bereitstellung

Zum Entwickeln von Anwendungen, in denen die MAPI verwendet wird, sind keine besonderen Lizenzen erforderlich.

Sicherheitsbezogene Kriterien

Kriterium

MAPI

Berechtigungen zur Entwurfszeit

Der Entwickler benötigt Berechtigungen zum Zugriff auf die Daten im Exchange-Speicher. Exchange speichert Benutzer- und Verteilerlisteninformationen in Active Directory. Daher müssen Entwickler, die MAPI-Clientanwendungen erstellen, die auf diese Informationen zugreifen, diese Informationen abrufen und konfigurieren können.

Setupberechtigungen

Für das Setup von MAPI-basierten Anwendungen muss der Benutzer in der Regel ein lokaler Administrator sein oder über Berechtigungen zum Installieren von Software verfügen.

Laufzeitberechtigungen

Für das Ausführen einer MAPI-basierten Anwendung benötigt der Benutzer normalerweise nur ausreichende Berechtigungen zum Zugriff auf die Daten in einem Exchange-Speicher oder einer PST-Datei.

Integrierte Sicherheitsfeatures

MAPI-Profile können auf den meisten Plattformen mit Kennwortschutz versehen werden.

Bereitstellungsbezogene Kriterien

Kriterium

MAPI

Anforderungen bzgl. der Serverplattform

Der Exchange-Server, auf dem Benutzerdaten für die Benutzer der MAPI-Clientanwendung gespeichert werden, muss korrekt für den Zugriff durch MAPI-Clients konfiguriert sein.

Anforderungen bzgl. der Clientplattform

Das Installationsprogramm der Clientanwendung sollte mithilfe der Datei Mapisvc.inf sicherstellen, dass die richtige Version der MAPI auf dem Computer vorhanden und korrekt konfiguriert ist.

Bereitstellungsmethoden

Anwendungen, in denen die MAPI verwendet wird, können mithilfe von standardmäßigen Softwareverteilungstechnologien auf Clientcomputern bereitgestellt werden.

Hinweise zur Bereitstellung

Das Installationsprogramm sollte sicherstellen, dass die korrekte MAPI-Version verfügbar ist.

Argumente für das Objektmodell oder die PIA

Grundsätzlich sollten Sie das Objektmodell oder die PIA verwenden, wenn die betreffende Lösung die Outlook-Benutzeroberfläche anpasst oder die Geschäftslogik von Outlook verwendet. In Abbildung 1 werden die wichtigsten Basisszenarien gezeigt, für die Outlook-Lösungen das Objektmodell oder die PIA verwenden.

Hinweis

Weitere Informationen zu den Szenarien erhalten Sie, indem Sie auf die betreffenden Kästchen in den folgenden Abbildungen klicken.

Abbildung 1. Die wichtigsten Basisszenarien, die vom Outlook-Objektmodell oder von der PIA unterstützt werden.

https://msdn.microsoft.com/de-de/library/ff866278(v=office.14)

Wenn Ihre Outlook-Lösung eines der in Abbildung 2 gezeigten Szenarien unterstützt und mit Outlook 2007 oder Outlook 2010 ausgeführt werden soll, nicht jedoch mit einer früheren Version, können Sie auch das Objektmodell oder die PIA verwenden. In Abbildung 2 werden die Hauptobjekte oder -member gezeigt, mit denen Sie im Outlook-Objektmodell die einzelnen Szenarien erweitern können (ausgenommen die IDTExtensibility2-Schnittstelle im Visual Studio-Automatisierungsobjektmodell und die IRibbonExtensibility-Schnittstelle im Office-Objektmodell, diese können Sie mit dem Outlook-Objektmodell integrieren).

Abbildung 2. Zusätzliche Szenarien, die vom Objektmodel oder der PIA für Outlook 2007 und Outlook 2010 unterstützt werden.

Wenn Ihre Outlook-Lösung mit Outlook 2010 und nicht mit früheren Versionen ausgeführt werden soll, können Sie das Objektmodell oder die PIA verwenden, um die in Abbildung 3 gezeigten Szenarien zu unterstützen. Abbildung 3 gibt die Hauptobjekte oder -member an, mit denen Sie im Outlook-Objektmodell die einzelnen Szenarien erweitern können (ausgenommen die Schnittstellen IRibbonControl, IRibbonExtensibility und IRibbonUI im Office-Objektmodell, diese können Sie mit dem Outlook-Objektmodell integrieren).

Abbildung 3. Weitere Szenarien, die vom Objektmodell oder der PIA für Outlook 2010 unterstützt werden.

https://msdn.microsoft.com/de-de/library/ff869218(v=office.14)

Argumente für die MAPI

Grundsätzlich verwenden Sie die MAPI, um auf Daten auf einem MAPI-basierten Server wie etwa dem Microsoft Exchange-Server zuzugreifen und Aufgaben wie die folgenden auszuführen:

  • Erstellen eines benutzerdefinierten Dienstanbieters, z. B. eines Adressbuch-, Transport- oder Speicheranbieters.

  • Erstellen eines Senkenprozesses.

  • Erstellen oder Bearbeiten eines Profils.

  • Ausführen einer Anwendung als Windows NT-Dienst.

  • Ausführen von Aufgaben in einem Hintergrundthread. Beispielsweise kann durch das Auflisten einer großen Menge von Elementen in einem Ordner und Ändern der Eigenschaften der Elemente in einem Hintergrundthread die Leistung optimiert werden.

Weitere Informationen sowie einschlägige Codebeispiele finden Sie in der Outlook 2010-MAPI-Referenz und unter MFCMAPI (in englischer Sprache).

Zudem ist Folgendes zu beachten: Wenn Ihre Lösung mit einer früheren Version von Outlook als Outlook 2007 ausgeführt wird und Szenarien wie die folgenden auf Ihre Lösung zutreffen, sollten Sie die MAPI verwenden, um diese Szenarien zu erweitern.

  • Integrierte Eigenschaften auf Elementebene festlegen und abrufen, die nicht im Objektmodell offengelegt werden.

  • Konten, Anlagen, Exchange-Verteilerlisten, Exchange-Benutzer oder Speicher verwalten.

  • Private Daten für Lösungen speichern.

  • Einen Nachrichtenspeicher für ein Konto verwalten.

Seit Outlook 2007 unterstützt das Objektmodell eine Reihe von Features, die in Versionen vor Outlook 2007 nicht vorhanden waren, sodass Entwickler damals auf die MAPI oder andere APIs wie etwa Microsoft -Datenobjekte für die Zusammenarbeit (Collaboration Data Objects, CDO) 1.2.1 und Microsoft Exchange-Clienterweiterungen zurückgreifen mussten. Wenn also eines oder mehrere der Szenarien in der obigen Liste auf Ihre Lösung zutreffen, die Lösung aber mit Outlook 2007 oder Outlook 2010 ausgeführt wird, können und sollten Sie das Outlook-Objektmodell oder die PIA verwenden, um diese Szenarien zu unterstützen. Weitere Informationen zu Erweiterungen in Outlook 2007, mit denen Outlook-Entwicklungstechnologien zusammengeführt werden, finden Sie in What's New for Developers in Outlook 2007 (Part 1 of 2).

Argumente für die Hilfs-APIs

Die Outlook-Hilfs-APIs können in manchen Szenarien, in denen das Objektmodell oder die MAPI keine Lösung bieten, mit der Outlook-Geschäftslogik oder der MAPI integriert werden. Verwenden Sie die Outlook-Hilfs-APIs in folgenden Szenarien:

  • Kontoverwaltung: Verwalten von Kontoinformationen, Bearbeiten von Konten, Senden von Benachrichtigungen bei Kontoänderungen und Schützen von Konten vor unerwünschten E-Mail-Nachrichten (Spam).

  • Verschlechterung der Datenqualität: Umschließen eines Objekts mit einem bevorzugten Zeichenformat, anstatt es in seinem nativen Format offenzulegen.

  • Zuweisen einer neuen Basis für Kalender und Zeitzonenunterstützung: Zuweisen einer neuen Basis zu Outlook-Kalendern, um Sommerzeit zu unterstützen.

  • Frei/Gebucht-Status: Bereitstellen von Frei/Gebucht-Informationen in Kalendern.

  • Kontaktbilder: Festlegen der Anzeige des Bilds für einen Kontakt in Outlook.

  • Aktualität von Elementen: Feststellen, ob für ein Outlook-Element noch nicht gespeicherte Änderungen vorliegen.

  • Kategorisieren von Elementen: Kategorisieren eines Outlook-Elements, nachdem dieses gesendet wurde.

Weitere Informationen zu den Hilfs-APIs finden Sie im Abschnitt Weitere Ressourcen – Hilfs-APIs.

Prozessinterne gegenüber prozessexternen Lösungen

Outlook unterstützt die Automatisierung, indem es Add-Ins verwendet, die im gleichen Vordergrundprozess wie der Outlook-Prozess ausgeführt werden, und eigenständige Lösungen, die in einem eigenen, separaten Prozess außerhalb des Outlook-Prozesses ausgeführt werden. Verwenden Sie für die Interaktion mit Outlook über das Objektmodell, die MAPI oder eine Hilfs-API wie etwa HrProcessConvActionForSentItem grundsätzlich ein Add-In. Verwenden Sie eine prozessexterne Lösung nur, wenn es notwendig ist (z. B. wenn Sie eine MAPI-Clientanwendung schreiben, die mithilfe der Datei Tzmovelib.dll Outlook-Kalendern für Kunden eine neue Basis zuweist, oder wenn Sie eine große Menge von Elementen in einem Ordner auflisten und die Eigenschaften der Elemente in einem Hintergrundthread ändern, um die Leistung zu optimieren).

Add-Ins sind die bevorzugte Lösung zum Erweitern von Outlook, da Outlook nur dem Application-Objekt vertraut, das während des OnConnection(Object, ext_ConnectMode, Object, Array)-Ereignisses des Add-Ins an das Add-In übergeben wird. Sie können die Anzeige von Sicherheitswarnungen des Object Model Guard verhindern, indem Sie alle Objekte, Eigenschaften und Methoden von diesem Application-Objekt ableiten. Wenn das Add-In eine neue Instanz des Application-Objekts erstellt, vertraut Outlook diesem Objekt nicht, auch wenn das Add-In in der Liste der vertrauenswürdigen Add-Ins enthalten ist. Von einem solchen Application-Objekt abgeleitete Objekte, Eigenschaften und Methoden werden nicht als vertrauenswürdig behandelt, und die gesperrten Eigenschaften und Methoden lösen Sicherheitswarnungen aus. Weitere Informationen zum Outlook Object Model Guard finden Sie unter Security Behavior of the Outlook Object Model.

Verwaltete gegenüber nicht verwalteten Lösungen

Outlook unterstützt die Automatisierung durch Add-Ins und eigenständige Anwendungen, die in verwalteten oder nicht verwalteten Sprachen programmiert wurden. Die gängigeren verwalteten Sprachen sind C# und Visual Basic. C++- und Delphi-Tools werden bei der nicht verwalteten Entwicklung häufiger eingesetzt. Welches Fachwissen verfügbar ist, ist eine der Überlegungen, die den Ausschlag geben zwischen verwalteter und nicht verwalteter Entwicklung.

Wenn in Ihrer Lösung nur das Objektmodell verwendet wird, können Sie eine verwaltete Lösung mithilfe der PIA, der Microsoft Office-Entwicklungstools in Microsoft Visual Studio 2010 oder von Microsoft Visual Studio-Tools für Office entwickeln. Die Office-Entwicklungstools in Visual Studio bieten Projektvorlagen und visuelle Designer, die das Erstellen von benutzerdefinierten Schnittstellen und das Entwickeln von Office-Lösungen vereinfachen.

Andererseits unterstützt Microsoft nicht die Verwendung der MAPI in verwaltetem Code, da die MAPI Jahre vor Microsoft .NET Framework entwickelt wurde und Microsoft keine verwalteten Wrapper für die MAPI bereitstellt. Wenn Sie die MAPI verwenden, müssen Sie eine nicht verwaltete Lösung entwickeln. Weitere Informationen finden Sie unter Supportrichtlinien für die Entwicklung von clientseitigen Messaginglösungen.

Nischen-APIs und -Technologien

Mit der Erweiterbarkeit über den Anbieter Outlook Social Connector (OSC) und Office Mobile Service (OMS) wird die Erweitung sehr spezieller Szenarien in Outlook unterstützt. Die Erweiterbarkeit über den OSC-Anbieter unterstützt die Entwicklung eines Anbieters für ein soziales Netzwerk, damit Benutzer in Outlook Aktualisierungen von Informationen über Freunde und Aktivitäten in diesem sozialen Netzwerk ansehen können. OMS unterstützt das Entwickeln eines OMS-Webdiensts, der sich mit den Outlook- und SharePoint-Funktionen für mobile Nutzung sowie mit mobilen Endgeräten integrieren lässt.

Mit dem OSC in Outlook können Benutzer im Bereich Personen eine Zusammenstellung der E-Mails, Anlagen und Besprechungsanfragen einer Person in Outlook anzeigen. In einer Organisationsumgebung können Benutzer, die über eine Microsoft SharePoint-Website zusammenarbeiten, Dokumentaktualisierungen und andere Websiteaktivitäten dieser Person auf der SharePoint-Website sehen. Die Erweiterbarkeit über den OSC-Anbieter unterstützt das Entwickeln eines Anbieters für den OSC zum Synchronisieren und Sichtbarmachen von Aktualisierungen in sozialen Netzwerken in Outlook. Je nachdem, welche OSC-Anbieter ein Outlook-Benutzer installiert hat, kann der Benutzer im Bereich Personen Aktualisierungen wie etwa Fotos, Statusinformationen und Aktivitäten in den betreffenden sozialen Netzwerken sehen. Der OSC-Anbieter für Facebook ist ein Beispiel, in dem die Erweiterbarkeit über den OSC-Anbieter genutzt wird. Weitere Informationen zu vorhandenen Anbietern, z. B. LinkedIn, Myspace und Windows Live Messenger, finden Sie unter Connect to your favorite social network using Outlook (in englischer Sprache).

OMS unterstützt die OMS-Clients in Outlook und SharePoint und die Entwicklung von OMS-Webdiensten. Typischerweise werden OMS-Webdienste von Mobilfunknetzbetreibern oder Inhaltsdienstanbietern für Mobiltelefonnachrichten erstellt und gehostet. Mit Outlook als OMS-Client kann ein Benutzer eine Text- oder Multimedianachricht verfassen und senden. Der OMS-Client sendet die Nachricht an den entsprechenden OMS-Webdienst, der sie dann an die Text- oder Multimedianachrichtenzentrale des Mobilfunknetzbetreibers übermittelt. Mithilfe des OMS-Clients in SharePoint kann ein Benutzer Warnungen in Form von Textnachrichten empfangen. SharePoint-Warnungen können Benutzer über Änderungen in einer SharePoint-Dokumentbibliothek oder -Liste benachrichtigen.

Außerdem können Benutzer in Outlook Konten für Mobilfunknachrichten parallel zu E-Mail-Konten verwalten und Text- oder Multimedianachrichtenelemente ähnlich wie E-Mail-Nachrichtenelemente speichern und verwalten. Mobiltelefonnummern werden in Outlook wie eine Art Adresse behandelt, und Benutzer können einer Mobilfunknachricht Empfänger hinzufügen, indem sie AutoVervollständigen verwenden oder Namen direkt aus dem Outlook-Adressbuch auswählen. Zudem können die Benutzer E-Mail-Nachrichten, Termine und Besprechungsanfragen an Mobilgeräte und andere E-Mail-Adressen senden.

Weitere Informationen zur Verwendung der Erweiterbarkeit über den OSC-Anbieter oder von OMS finden Sie im Abschnitt Weitere Ressourcen – Wichtige Referenzen, Ressourcen und Codebeispiele.

Schlussbemerkung

Um herauszufinden, welche API oder Technologie für Ihre Lösung am besten geeignet ist, müssen Sie zuerst die Ziele der Lösung definieren:

  • Die Versionen von Outlook, die Ihre Lösung unterstützen soll.

  • Die wichtigsten Szenarien für Ihre Lösung und insbesondere, ob diese Szenarien das Auflisten, Filtern oder Ändern von Ordnern umfassen, die eine große Menge von Outlook-Elementen enthalten.

Versuchen Sie, Ihre Szenarien mit den im Abschnitt Argumente für das Objektmodell oder die PIA beschriebenen Szenarien abzugleichen. Wenn das Objektmodell (oder die PIA) der vorgesehenen Outlook-Versionen Ihre Szenarien unterstützt und in Ihrer Lösung keine Ordner mit großen Mengen von Elementen bearbeitet werden, sollten Sie Ihre Lösung als Add-In entweder in einer verwalteten oder in einer nicht verwaltete Sprache implementieren.

Wenn das Objektmodell (oder die PIA) einer vorgesehenen Outlook-Version einige Ihrer Szenarien nicht unterstützt, klären Sie, ob die Szenarien im Abschnitt Argumente für die MAPI oder Argumente für die Hilfs-APIs Ihre Anforderungen erfüllen. Wenn die MAPI Ihre Anforderungen erfüllt, sollten Sie die Lösung in nicht verwaltetem Code implementieren. Wenn eine Hilfs-API eines Ihrer Szenarien abdeckt, können Sie verwalteten oder nicht verwalteten Code verwenden.

Wenn Ihre Szenarien das Anzeigen von Informationen oder Aktualisierungen in sozialen Netzwerken in Outlook umfasst, sollten Sie die Erweiterbarkeit über den OSC-Anbieter nutzen, um eine COM-sichtbare DLL zu erstellen. Dies können Sie in einer verwalteten oder in einer nicht verwalteten Sprache tun.

Wenn in Ihrer Lösung die MAPI verwendet wird, müssen Sie sie in nicht verwaltetem Code implementieren, z. B. in C++. Abgesehen davon hängt die Entscheidung, ob zum Erstellen der Lösung verwalteter oder nicht verwalteter Code verwendet werden soll, generell von den verfügbaren Ressourcen und deren Fachwissen ab. Wenn es darum geht, ob die Lösung als Add-In oder als eigenständige Anwendung implementiert werden soll, sollten Sie sich für ein Add-In entscheiden, um das ständige Aufrufen des Outlook Object Model Guard durch den Benutzer zu vermeiden, es sei denn, in Ihrem Szenario müssen Ordner bearbeitet werden, die große Mengen von Elementen enthalten. Im letzteren Fall können Sie durch Implementieren der Lösung als Hintergrundthread die Leistung von Outlook optimieren.

Nachdem Sie die für Ihre Lösung zu verwendenden APIs oder Technologien ausgewählt haben, können Sie sich im Abschnitt Weitere Ressourcen – Wichtige Referenzen, Ressourcen und Codebeispiele über zusätzliche Dokumentation und Beispielcode informieren.

Weitere Ressourcen – Objektmodell und PIA

In den folgenden Ressourcen finden Sie weitere Informationen zur Verwendung des Objektmodells und der PIA.

Konten – Primäres Exchange-Konto im Profil

Konten – Mehrere Konten im Profil

Adressbuch und Exchange-Benutzer

Anlagen

  • How to: Attach a File to a Mail Item

  • Durch Outlook 2010 eingeschränkte Anlagendateitypen

  • Attachment-Objekt

  • AttachmentSelection-Objekt

  • AttachmentAdd-Ereignis pro Elementobjekt

  • AttachmentRead-Ereignis pro Elementobjekt

  • AttachmentRemove-Ereignis pro Elementobjekt

  • BeforeAttachmentAdd-Ereignis pro Elementobjekt

  • BeforeAttachmentPreview-Ereignis pro Elementobjekt

  • BeforeAttachmentRead-Ereignis pro Elementobjekt

  • BeforeAttachmentSave-Ereignis pro Elementobjekt

  • BeforeAttachmentWrite-Ereignis pro Elementobjekt

Anlagen: Auswahl im Inspektor

Automatisieren von Outlook

Kategorien

Unterhaltungen

Ereignisse

Elemente: Grundlegende Eigenschaften, Felder und Formulare

Elemente: Anpassen von Eigenschaften

Elemente: Auflisten, Filtern und Sortieren

Elemente: Kennzeichnen als Aufgabe

Siehe hierzu die folgenden aufgabenbezogenen Eigenschaften in einigen Elementobjekten wie etwa dem MailItem-Objekt:

Elemente: Auswahl im Explorer

Sonstiges: Visitenkarten, Regeln und Ansichten

Sicherheit

Freigabe

Lösungen: Lösungsspezifische Ordner

Lösungen: Speichern von Daten

Benutzeroberfläche: Anpassen von Formularbereichen

Benutzeroberfläche: Anpassen, ab Outlook 2007

Benutzeroberfläche: Anpassen in Outlook 2010

Benutzeroberfläche: Lösungsspezifische Ordner

Weitere Ressourcen – Hilfs-APIs

In den folgenden Ressourcen finden Sie weitere Informationen zu den Outlook-Hilfs-APIs.

Kontoverwaltung

Kategorisieren von Elementen

Kontaktbilder

Verschlechterung der Datenqualität

Frei/Gebucht-Status

Aktualität von Elementen

Zuweisen einer neuen Basis zu Kalendern

Weitere Ressourcen – Wichtige Referenzen, Ressourcen und Codebeispiele

In den folgenden Ressourcen finden Sie weitere Informationen zu den wichtigsten Outlook-Referenzen, -Ressourcen und -Codebeispielen.

Wichtige Referenzen und Ressourcen

Codebeispiele