Partager via


Connexion à MAPI

S’applique à : Outlook 2013 | Outlook 2016

Les applications clientes se connectent au sous-système MAPI en appelant la fonction MAPILogonEx . Pour plus d’informations, consultez MAPILogonEx. MAPILogonEx valide la sélection du profil et la configuration de chaque fournisseur de services dans le profil. Une fois configuré, MAPI démarre les fournisseurs de carnets d’adresses avant de démarrer les fournisseurs de magasins de messages. Les fournisseurs de transport sont démarrés lorsque leurs services sont requis pour la première fois.

Choisir un profil

  • Passez une chaîne de caractères qui représente le nom du profil dans le paramètre lpszProfileName à MAPILogonEx, ou...

  • Autorisez l’utilisateur à spécifier le profil en transmettant NULL dans le paramètre lpszProfileName et en définissant l’indicateur MAPI_LOGON_UI, ou...

  • Sélectionnez le profil par défaut en transmettant NULL dans le paramètre lpszProfileName et en définissant l’indicateur MAPI_USE_DEFAULT.

Si vous avez besoin d’un profil spécifique autre que le profil par défaut, vous devez enregistrer son nom dans votre propre base de données de configuration ou utiliser une convention de nommage spécifique. MAPI n’expose pas d’attributs de profil autres que le nom et l’indicateur par défaut dans la table de profils, et l’indicateur de profil par défaut est réservé aux applications ipM clientes de messagerie et associées.

Les clients qui fournissent des informations de configuration partielles de profil ou de fournisseur à MAPILogonEx doivent inviter l’utilisateur à fournir les données supplémentaires en autorisant l’affichage d’une boîte de dialogue. Si des informations sont manquantes et que MAPILogonEx ne peut pas inviter l’utilisateur à les fournir, l’ouverture de session échoue. Les clients qui n’ont pas besoin d’une entrée utilisateur peuvent supprimer l’affichage de la boîte de dialogue.

Les indicateurs que MAPILogonEx utilise pour activer une interface utilisateur s’excluent mutuellement ; un seul peut être défini. Le fait de laisser ces indicateurs non défini supprime l’affichage d’une interface utilisateur, ce qui entraîne l’échec de MAPILogonEx si des informations nécessaires sont manquantes. Autrement dit, si vous désactivez l’interface utilisateur et passez NULL pour le paramètre lpszProfileName et que vous ne définissez pas l’indicateur MAPI_USE_DEFAULT, MAPILogonEx échoue, car il ne peut pas récupérer un nom de profil.

La session que MAPILogonEx établit peut être une session de messagerie individuelle, une session de messagerie partagée ou une session de non-création de session. Les sessions de messagerie individuelles sont des connexions privées entre votre client et le sous-système MAPI et peuvent être établies en définissant l’indicateur MAPI_NEW_SESSION dans l’appel à MAPILogonEx.

Les sessions de messagerie partagée sont des connexions que plusieurs clients de messagerie peuvent utiliser. Les sessions partagées sont généralement établies pour les clients utilisant le même profil. Pour établir une nouvelle session en tant que session partagée, définissez l’indicateur MAPI_ALLOW_OTHERS.

Utiliser une session partagée existante

  • Ne définissez pas l’indicateur MAPI_NEW_SESSION.

  • Ne définissez pas l’indicateur MAPI_ALLOW_OTHERS.

  • Passez NULL pour le paramètre lpszProfileName .

  • Passez NULL pour le paramètre lpszPassword .

Les sessions de non-gestion permettent aux clients d’accéder au sous-système MAPI, mais n’autorisent pas l’envoi ou la réception de messages. Les applications de configuration ou d’administration sont des exemples de clients qui peuvent avoir besoin d’établir des sessions de non-gestion. Pour demander une session de non-création, définissez l’indicateur MAPI_NO_MAIL. La définition de cet indicateur enregistre votre client sans en informer le spouleur MAPI. Les clients qui se connectent à MAPI avec cet indicateur ne peuvent pas s’attendre à recevoir des rapports status en lecture.

L’indicateur MAPI_NO_MAIL doit être défini uniquement :

  • Si votre client n’envoie pas ou ne reçoit pas de messages pendant la session.

  • Si votre client dispose d’un contrôle total sur le contenu du profil et que les messages sont envoyés et reçus à l’aide de fournisseurs de transport et de magasin de messages étroitement couplés, tels que les fournisseurs Microsoft Exchange.

Un client de messagerie peut partager une session avec un client de non-création de session. Les caractéristiques d’un membre d’une session partagée ne sont pas affectées par les caractéristiques des autres membres. Autrement dit, si vous vous connectez avec les indicateurs MAPI_NO_MAIL et MAPI_ALLOW_OTHERS définis, un client de messagerie qui se connecte à votre session n’a aucun impact sur le fonctionnement de votre client et vice versa. Le client de messagerie sera toujours en mesure d’envoyer et de recevoir des messages, ce qui n’est pas le cas de votre client.

MAPILogonEx définit quelques autres indicateurs que vous pouvez définir :

  • MAPI_FORCE_DOWNLOAD indique que les messages entrants doivent être téléchargés avant le retour de MAPILogonEx . Si vous ne définissez pas cet indicateur, les messages seront téléchargés en arrière-plan ultérieurement.

  • MAPI_SERVICE_UI_ALWAYS demande que chaque service de message du profil affiche une boîte de dialogue de configuration.

  • MAPI_NT_SERVICE indique que votre client est implémenté en tant que service Windows. Cet indicateur doit être défini si votre client est un service.

À chaque ouverture de session réussie, MAPILogonEx renvoie un pointeur vers une session MAPI. Vous pouvez utiliser ce pointeur pour appeler les méthodes de l’interface IMAPISession . Pour plus d’informations, consultez IMAPISession : IUnknown. Les pointeurs de session, quel que soit le type de session, sont uniques aux clients qui les reçoivent et ne sont pas valides entre les tâches.