Les règles pour le développement de messagerie côté client

Traductions disponibles Traductions disponibles
Numéro d'article: 266353 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

INTRODUCTION

Cet article décrit ce qui est pris en charge et ce qui n'est pas prise en charge lorsque vous développez des solutions personnalisées qui intègrent les produits de messagerie à base de Microsoft ou technologies Microsoft. Cet article contient également la plupart des informations clées à connaître lorsque vous développez avec les produits Microsoft et de technologies Microsoft. Toutefois, cet article ne couvre pas tous les scénarios. Contactez les services de support technique de Microsoft si vous avez des questions sur l'ou la prise en charge une solution spécifique.

Cet article traite également des technologies spécifiques et des scénarios spécifiques pour guider les développeurs.

Plus d'informations

Le terme «pris en charge» sert à décrire que services de support technique Microsoft ou les Microsoft Services peut vous aider lorsque vous essayez d'atteindre un élément de manière spécifique. En règle générale, le terme est également utilisé dans le contexte d'indique si un groupe de produits Microsoft résoudra potentiellement un problème pour un scénario donné.

En raison de la matrice de grande de produits, technologies et les versions qui nécessitent des tests, nous Cannot affirmer que tous les scénarios ont été conçus ou testés. Par conséquent, nous vous encourageons à utiliser les méthodes conseillées suivantes lorsque vous concevez des solutions personnalisées :
  • Utilisez uniquement des API qui est documentées par Microsoft. Cela évite le risque accru votre solution ne fonctionnera pas avec une version plus récente d'un produit ou avec un service pack pour un produit. Par exemple, vous pouvez utiliser l'API Microsoft Win32 pour manipuler des fenêtres de Microsoft Office Outlook. Toutefois, l'API Win32 n'est pas prise en charge. Certaines solutions peut-être pris en charge dans le contexte de l'API spécifique que vous utilisez. Toutefois, ces solutions en général ne sont pas prises en charge dans le contexte d'un Office d'application et lorsque vous créez une solution personnalisée à l'aide de cette application. Une exception serait un scénario documenté par Microsoft.
  • Éviter de mélanger des technologies plus récentes et les technologies anciennes si cela vous pouvez. Mélange de technologies plus récentes et les technologies des anciennes augmente la possibilité que le scénario n'a pas été testé et que le scénario n'est pas prise en charge.
  • Lorsque vous travaillez avec les applications Office, développer la solution à l'aide de la version la plus ancienne d'Office qui exécute la solution.

Intégration avec les propriétés Outlook

Outlook, Microsoft Exchange Server et autre magasin de produits Microsoft stocke des données dans MAPI, tels que les fichiers de dossiers personnels (.pst), Exchange les banques de boîtes aux lettres ou banques de dossiers publics de Exchange. Bien que certaines de ces données soit visible, diverses autres données n'est pas visibles et est stocké pour d'autres raisons.

Dans certains cas, il existe une correspondance un-à-un entre ce que vous voyez dans Outlook et ce qui est stocké dans la base de données MAPI sous-jacente. La zone objet du message électronique est un exemple de ceci dans la mesure où cette zone correspond à la propriété MAPI PR_SUBJECT. Dans ce cas, cette propriété supplanté Outlook parce que cette propriété a été utilisée par les clients de messagerie Microsoft précédentes. Autres propriétés également avoir une correspondance un-à-un mais sont spécifiques à Outlook. Par exemple, une adresse de site Web est stockée dans un MAPI spécifique nommée property.

Remarque Pour plus d'informations sur les propriétés nommées dans Outlook, consultez la section «informations MAPI spécifique de propriétés nommées».

Dans certains cas, Outlook peut utiliser plusieurs propriétés MAPI pour stocker des informations dans un but précis, ou Outlook peut stocker plusieurs éléments d'information dans une seule propriété. Dans ces deux scénarios, souvent il n'y a aucune documentation qui explique comment ces propriétés sont implémentées ou leur fonctionnement.

Modification par programme des propriétés sous-jacent implique certains risques. Les zones principales sont les suivants :
  • Outlook peut se comporte de manière inattendue ou cesser de répondre lorsque certaines propriétés sont modifiées.
  • Des problèmes peuvent se produire lorsque différentes API est utilisés pour modifier dynamiquement certains propriétés Outlook lorsque Outlook est en cours d'exécution.
  • Différentes versions d'Outlook peuvent se connecter à MAPI même stocke. Par conséquent, il peuvent être ajoutés la complexité, car différentes versions d'Outlook peuvent interagir avec les propriétés associées de différentes manières.
Par conséquent, de nombreuses propriétés MAPI qui sont utilisées par Outlook ne sont pas documentées au niveau MAPI. Le schéma MAPI utilisé est complexe et peut changer avec les versions ultérieures MAPI.

Par conséquent, nous vous recommandons de ne pas accéder directement à ces données de bas niveau et que vous utilisez une API de haut niveau au lieu de cela, such as la bibliothèque d'objet Outlook. En raison de ces facteurs, Microsoft généralement ne prend pas en charge expliquant comment ou pourquoi les propriétés sous-jacentes sont implémentées.

Il est également important de faire la différence entre lecture des propriétés et d'écriture des propriétés. Lecture par programme les propriétés MAPI à l'aide d'API telles que MAPI étendu, WebDAV ou l'objet PropertyAccessor dans le modèle d'objet Microsoft Office Outlook 2007 est pris en charge. Toutefois, l'écriture de ces propriétés n'est pas pris en charge en raison du potentiel pour les problèmes de corruption de données ou pour les autres problèmes autre que MAPI clients peuvent disposer lorsqu'ils utilisent les données modifiées.

MAPI des informations de propriétés nommées spécifiques

MAPI fournit une fonction d'attribution de noms à certaines propriétés, du mappage de ces noms à des identificateurs uniques et pour rendre ce mappage persistant. Outlook écrit de nombreux champs spécifiques à Outlook dans ces propriétés qui utilisent des identificateurs dans la plage de 8000 FFFE nommées. En règle générale, le modèle d'objet Microsoft Outlook est la seule méthode prise en charge de la modification de ces propriétés nommées. En règle générale, lorsque vous modifiez ces propriétés en utilisant MAPI ou à l'aide de CDO (Collaboration Data Objects) n'est pas prise en charge.

Propriétés nommées sont identifiées par un nom et par un GUID pour un jeu de propriétés. Le nom peut être un nombre ou une chaîne. Ces propriétés sont manipulées à l'aide de la fonction IMAPIProp::GetIDsFromNames et la fonction IMAPIProp::GetNamesFromIDs. Le GUID et le nom sont transmis à la fonction GetIDsFromNames pour obtenir un ID de propriété est valide pour la session MAPI en cours. Ce code de propriété pouvant varier d'un ordinateur à l'autre, l'uniquement cohérent pour accéder à une propriété nommée consiste à savoir la propriété la valeur et son nom.

En général, propriétés nommées sont utilisées par les clients Outlook comme un moyen d'ajouter des informations supplémentaires à un message est uniquement utilisé par ce client. Par conséquent, la plupart des propriétés nommées sont utilisées par les clients Outlook n'est pas documentée. La seule méthode prise en charge pour obtenir ces propriétés est via le modèle d'objet Outlook.

Commun nommé propriétés qui sont utilisées par Outlook

Le tableau suivant décrit la commun nommé de propriétés qui sont utilisées par Outlook.
Réduire ce tableauAgrandir ce tableau
Type d'élément (classe de message)Résumé des capacités de prise en charge
Messages (IPM.note)Les messages sont natives de MAPI. Outlook conserve certaines propriétés nommées sur ces éléments.
Éléments de contact (IPM.contact)Contacts ne sont pas natives à MAPI. Dans la mesure où les contacts ressemblent aux entrées du carnet d'adresses, certaines balises d'entrée d'adresse sont valides. La plupart des propriétés de contact sont des propriétés nommées.
Éléments de tâche (IPM.Task)Tâches ne sont pas natives à MAPI. La plupart des propriétés de tâche sont des propriétés nommées.
Éléments de rendez-vous (IPM.Appointment)Rendez-vous ne sont pas natives de MAPI, mais elles sont natives de CDO. La plupart des propriétés de rendez-vous sont des propriétés nommées. Certaines propriétés de rendez-vous sont exposées par le biais de l'objet CDO, Élément de rendez-vous.
Éléments du journal (IPM.Activity)Feuilles ne sont pas natives à MAPI. La plupart des propriétés de feuille sont des propriétés nommées.
Éléments de note (IPM.note)Pense-bête n'est pas natives à MAPI. La plupart des propriétés de note du pense-bête sont des propriétés nommées.
En plus des propriétés MAPI natifs, de champs définis par l'utilisateur sur des formulaires Outlook personnalisés sont pris en charge par le biais de l'interface MAPI, par le biais de CDO, par le biais de WebDAV et par le biais du modèle objet Outlook. Ces champs utilisent PS_PUBLIC_STRINGS propriété que la propriété définie identificateur et le nom du champ comme nom de propriété. Pour plus d'informations sur les scénarios de prise en charge pour les données à base de WebDAV et des données basées sur MAPI, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
920134Support technique disponibles pour les applications qui utilisent le protocole WebDAV pour accéder à Exchange 2000 Server ou Exchange Server 2003
L'API d'intégration Outlook fournit la documentation supplémentaire sur intégration à Outlook dans des scénarios spécifiques. Pour afficher cette documentation, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn2.microsoft.com/en-us/library/aa193231(office.11).aspx
En outre, les informations suivantes sont documentées pour Outlook 2007 et sont prévues d'inclure dans l'API d'intégration Outlook à une date ultérieure. Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la base de connaissances Microsoft :
919198Assistance indexation notification pour les fournisseurs de magasins dans Outlook 2007
919199Comment utiliser l'API IAttachmentSecurity pour vérifier si une pièce jointe est considéré comme bloqué dans Outlook
Pour plus d'informations, reportez-vous aux sites Web de Microsoft aux adresses suivantes :
Outlook 2007 documentation-les pièces jointes bloquées
http://blogs.msdn.com/stephen_griffin/archive/2006/05/09/593585.aspx

Outlook 2007 documentation - notification base prise en charge de l'indexation
http://blogs.msdn.com/stephen_griffin/archive/2006/05/10/594641.aspx

Microsoft Office Outlook 2003 Service Pack 1 (SP1) ou versions ultérieures

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la base de connaissances Microsoft :
912239Comment utiliser la propriété MAPI dispidHeaderItem pour identifier l'état d'un message que vous recevez dans Outlook 2003
912238Comment utiliser MAPI pour gérer les messages dans un fichier .pst lorsque vous utilisez Outlook 2003 pour télécharger des messages à partir d'un serveur IMAP
912237Comment utiliser les propriétés nommées à relier les entrées du carnet d'adresses de contacts aux messages électroniques, les adresses de messagerie et les images jointes dans Outlook 2003
915314Informations sur le point deux nouveaux nommé définitions de propriétés qui peuvent contrôler comment un message est traité par Office Outlook 2003 lorsque les utilisateurs répondez au message
Pour plus d'informations, reportez-vous aux sites Web de Microsoft aux adresses suivantes :
Nouvelle partie de documentation Outlook 5 - formulaires dérivées
http://blogs.msdn.com/stephen_griffin/archive/2005/12/29/507991.aspx

API d'intégration Outlook 2003 encapsulé documents PST et exemple
http://blogs.msdn.com/stephen_griffin/archive/2005/09/28/Outlook-2003-Integration-API-Wrapped-PST-Docs-and-Sample.aspx

API prises en charge dans le code managé

MAPI a été initialement conçu et développé à l'origine à la fin des années 1980. Par conséquent, MAPI supplanté le code managé dans Microsoft .NET Framework. Nous ne fournit pas de wrappers managés pour MAPI et nous vous déconseillons d'utiliser les wrappers de tierce partie. Ceci est dû au fait que les solutions semblent fonctionner dans un environnement de test mais problèmes liés à la gestion de la mémoire peuvent se produire lorsqu'une application est déployée dans un environnement de production et est exposée aux scénarios réels évolutivité.

Le tableau suivant récapitule la stratégie de prise en charge pour les API de Outlook dans l'environnement .NET Framework.
Réduire ce tableauAgrandir ce tableau
APINom de la DLLGéré de stratégie de prise en charge de code
Modèle d'objet OutlookNon applicablePris en charge à l'aide d'un assembly COM interop
Collaboration Data Objects (CDO) 1,2 xCDO.dllN'est pas pris en charge
MAPI (Extended MAPI ou MAPI simple)Mapi32.dll ou Msmapi32.dllN'est pas pris en charge
Services Web Exchange Server 2007Non applicablePrise en charge
WebDAV (Exchange 2000 Server et Exchange Server 2003, déconseillée dans Exchange Server 2007)Non applicablePrise en charge
Pour plus d'informations sur les stratégies de prise en charge pour les autres API de messagerie en code managé, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
813349Support policy for Microsoft Exchange APIs avec les applications .NET Framework

Les contrôles utilisateur de .NET Framework

Les contrôles utilisateur de .NET Framework ne sont pas pris en charge dans Outlook 2003, dans les versions antérieures d'Outlook ou dans les régions de formulaire personnalisé Outlook 2007. Pour plus d'informations sur la prise en charge de ces contrôles, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
897863Description de la prise en charge de WinForms des contrôles dans les applications non managées

Formulaires personnalisés et les scénarios HTTP pour Outlook 2003 et versions antérieures d'Outlook

Dans Outlook, des formulaires Outlook personnalisés ne sont pas pris en charge à utiliser avec les services de messagerie HTTP comme Hotmail de Microsoft. Outlook ne vous empêche pas d'utiliser les fonctionnalités de formulaire personnalisé si vous utilisez un service de messagerie HTTP. Cependant, certaines fonctionnalités ne fonctionnent pas correctement. Les fonctionnalités ne fonctionnent pas correctement dans la mesure où les messages de messagerie HTTP sont stockés dans un état en lecture seule sur le serveur. Par conséquent, nous vous recommandons de ne pas utiliser des formulaires Outlook personnalisés si vous utilisez un service de messagerie HTTP.

Contrôles MAPI de Microsoft Visual Basic 6.0

Contrôles Visual Basic 6.0 MAPI reposent sur simple MAPI et ne sont plus testés ou pris en charge à partir d'Outlook 2007. Nous vous encourageons à utiliser une API plus récente pour les solutions de messagerie.

Remarque La prise en charge standard de Visual Basic 6.0 a expiré.

Appels de messagerie courants

CMC (Common Messaging Calls) n'est pas prise en charge après la mise à jour de la version de la sécurité de la messagerie électronique Outlook en juin 2000.

Dynamique de données (DDE)

Contrairement aux autres applications Office, Outlook ne prend pas en charge DDE (Dynamic Data Exchange) comme un moyen de communiquer par programmation avec Outlook.

Microsoft Outlook Express (Microsoft Windows XP)

Pour beaucoup de temps, la seule API pris en charge pour Outlook Express était simple MAPI. Simple MAPI est un ensemble de fonctions et les structures de données connexes que vous pouvez utiliser pour ajouter des fonctionnalités de messagerie à des applications personnalisées. Les fonctions simple MAPI sont disponibles dans les versions pour C, C++ et Visual Basic.

La documentation de simple MAPI est fournie dans le SDK de Microsoft Exchange. Pour afficher cette documentation, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/en-us/library/aa142548(EXCHG.65).aspx
Outlook Express utilise le carnet d'adresses Windows. Pour plus d'informations sur le carnet d'adresses Windows, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/en-us/library/ms629361.aspx

Windows Mail dans Windows Vista

Dans Windows Vista, Windows Mail est le remplacement pour Outlook Express. Pour la documentation du développeur, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/en-us/library/ms709546.aspx
API qui est disponibles pour Outlook Express 6.0 est également inclus dans cette documentation.

Windows Live API et SDK

Pour plus d'informations sur les API qui concernent la messagerie et sur les options de support technique pour Windows Live, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://dev.live.com/
Support des clients Microsoft actuellement ne prend pas en charge de ces API.

Références

Pour plus d'informations sur les propriétés nommées, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn2.microsoft.com/en-us/library/ms529055.aspx

Propriétés

Numéro d'article: 266353 - Dernière mise à jour: vendredi 30 mars 2007 - Version: 5.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Messaging Application Programming Interface
  • Microsoft Office Outlook 2007
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard
  • Microsoft Outlook 2000
  • Microsoft Outlook 98 Standard
  • Microsoft Outlook 97 Standard
  • Microsoft Collaboration Data Objects 1.21
  • Microsoft Outlook Express 5.0
  • Microsoft Outlook Express 5.5
  • Microsoft Outlook Express 6.0
Mots-clés : 
kbmt kbinfo kbmsg kboutlookobj KB266353 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 266353
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com