Développement d’un fournisseur de banques de messages MAPI
S’applique à : Outlook 2013 | Outlook 2016
Comme les autres fournisseurs de services MAPI, les magasins de messages sont des bibliothèques de liens dynamiques (DLL) qui présentent les services d’un mécanisme de stockage sous-jacent aux applications clientes MAPI et au spouleur MAPI. Le fournisseur de magasin de messages présente le mécanisme de stockage sous-jacent sous la forme d’un ensemble hiérarchique de dossiers et de messages que les clients MAPI et le spouleur MAPI peuvent utiliser.
L’illustration suivante montre l’architecture de base de la banque de messages MAPI.
Architecture de banque de messages
Vous pouvez implémenter un fournisseur de magasin de messages à l’aide de n’importe quel mécanisme de stockage sous-jacent de votre choix. Toutefois, vous devez être conscient des problèmes de performances. En outre, le mécanisme de stockage sous-jacent doit être présenté sous la forme d’une collection hiérarchique d’objets MAPI. Ces exigences signifient que les magasins de messages sont généralement implémentés à l’aide d’un produit de base de données existant qui prend en charge le stockage hiérarchique d’objets dans la base de données et qui a une interface de programmation ou une structure de fichiers bien définie. Par exemple, les bases de données Microsoft Office Access, SQL et Oracle peuvent être utilisées comme mécanisme de stockage sous-jacent. Certains produits de base de données ont des ensembles de fonctionnalités qui facilitent l’implémentation des fonctionnalités MAPI, de sorte que votre choix de produit de base de données peut être affecté par les fonctionnalités que votre fournisseur de magasin de messages doit prendre en charge.
L’utilisation d’une base de données existante comme mécanisme de stockage sous-jacent vous permet d’économiser du travail, car il est généralement plus facile de présenter des objets de base de données aux clients MAPI en tant qu’objets MAPI que d’implémenter votre propre mécanisme de stockage hiérarchique. Cela vous permet de traiter les opérations MAPI à un niveau plus élevé que si vous implémentez votre propre mécanisme de stockage hiérarchique. Par exemple, la recherche d’un message avec une ligne d’objet particulière devient une question assez simple de construction et d’envoi d’une requête de base de données appropriée, plutôt que d’implémenter des routines complexes pour rechercher votre mécanisme de stockage hiérarchique.
Les fournisseurs de magasins de messages communiquent avec les clients MAPI et le spouleur MAPI pour effectuer des opérations sur des dossiers et des objets. Le fournisseur de magasin de messages traduit ces opérations en opérations de niveau inférieur sur le mécanisme de stockage sous-jacent. Le spouleur MAPI communique généralement avec le fournisseur de magasin de messages lors de l’envoi et de la réception de messages. Les clients MAPI communiquent généralement avec les fournisseurs de magasins de messages pour manipuler la hiérarchie des dossiers et pour lire, modifier, supprimer et envoyer des messages.
Le spouleur MAPI et les clients MAPI communiquent avec le fournisseur de magasin de messages pour créer des messages. Les applications clientes le font lorsque les utilisateurs composent un message. Le spouleur MAPI effectue cette opération lorsqu’il reçoit un message entrant. Dans les deux cas, le nouveau message est généralement créé dans le dossier Boîte de réception de la banque de messages, le cas échéant.
Les fournisseurs de magasins de messages utilisent intensivement les tables, dossiers, messages et propriétés MAPI. Les détails de l’implémentation de ces objets sont documentés dans Tables MAPI, Dossiers MAPI, Messages MAPI et Vue d’ensemble des propriétés MAPI. Vous devez vous familiariser avec ce matériel avant de tenter d’implémenter un fournisseur de magasin de messages.
Il existe deux types importants de fournisseurs de magasins de messages : ceux qui peuvent agir comme magasin de messages par défaut d’un utilisateur et ceux qui ne le peuvent pas. Une banque de messages par défaut est celle dans laquelle les applications clientes et le spouleur MAPI peuvent effectuer n’importe quelle tâche de messagerie, telle que la réception de messages ou la création de dossiers. Un fournisseur de magasin de messages par défaut doit prendre en charge plusieurs fonctionnalités supplémentaires que le nombre minimal requis pour tous les fournisseurs de magasins de messages.