Concepts sur les agents de transport dans Exchange 2013

Trouvez des informations sur la façon dont le pipeline de l’agent de transport et l’architecture de rôle serveur dans Exchange 2013 affectent le développement de l’agent de transport, ainsi que sur les classes que vous pouvez utiliser pour développer des agents de transport.

S’applique à : Exchange Server 2013

Vous pouvez utiliser la bibliothèque de classes fournie dans Exchange Server 2013 pour implémenter des agents de transport qui s’inscrivent aux événements et effectuent des actions sur les messages qui transitent par le pipeline de transport. Vous pouvez également utiliser des agents de transport pour modifier des messages et convertir du contenu.

Cet article fournit des informations sur les agents de transport et l’architecture de pipeline de transport. Il est important de comprendre l’architecture du pipeline de transport pour pouvoir modifier le comportement de transport de manière adaptée aux besoins de votre organisation. Cet article fournit également des informations sur les modifications apportées à l’architecture d’Exchange 2013 qui ont des répercussions sur les agents de transport et les classe que vous pouvez utiliser pour développer des agents de transport.

Agents de transport dans le pipeline de transport

Les agents de transport sont issus d’une des trois catégories suivantes :

Le pipeline de transport fait référence au flux de données de messagerie, dans les limites d’une organisation Exchange 2013. Le pipeline se compose des services répertoriés dans le tableau suivant.

Tableau 1. Services de pipeline de transport

Service Description Classes prises en charge
Transport frontal
S’exécute sur tous les serveurs d’accès au client et agit comme un proxy sans état pour tout le trafic SMTP externe entrant et sortant pour l’organisation Exchange 2013. Le service de transport frontal n’inspecte pas le contenu des messages ni ne place ces derniers en file d’attente localement. Il communique avec le service de transport sur un serveur de boîtes aux lettres.
SmtpReceiveAgent
Transport
S’exécute sur tous les serveurs de boîtes aux lettres et est similaire au rôle serveur de transport Hub dans Exchange Server 2010. Le service de transport route les messages entre lui-même et les services de transport frontal et de transport de boîtes aux lettres. Ce service ne communique pas directement avec les bases de données de boîtes aux lettres.
SmtpReceiveAgent
RoutingAgent
DeliveryAgent
Transport de boîtes aux lettres
S’exécute sur tous les serveurs de boîtes aux lettres et se compose de deux services distincts : envoi de transport de boîte aux lettres et remise de transport de boîte aux lettres. La remise de transport de boîtes aux lettres reçoit les messages SMTP du service de transport et se connecte à la base de données de boîtes aux lettres via un appel de procédure distante (RPC) Exchange pour livrer les messages. Le dépôt de transport de boîtes aux lettres se connecte à la base de données de boîtes aux lettres via un RPC pour récupérer les messages et les soumettre via SMTP au service de transport.
Aucun.

Événements de transport

Pour implémenter des agents de transport, vous devez tout d’abord l’enregistrer pour un événement, puis exécuter une action lorsque cet événement est déclenché. Chacun des trois types d’agent peut être enregistré pour un ensemble d’événements différent.

La figure suivante indique les emplacements du pipeline de transport où les agents de transport peuvent être enregistrés pour des événements.

Figure 1. Événements de transport

Image présentant le flux de messages via le pipeline de transport et les événements auxquels chaque agent peut s’inscrire, en commençant par les événements SMPT pour SmtpReceivedAgent, puis les événements Categorizor pour RoutingAgent, et enfin les événements DELIVER pour DeliveryAgent.

Lorsqu’un message entre dans le pipeline de transport, un agent de transport dérivé de la classe SmtpReceiveAgent peut agir sur le message pendant l’un des événements SMTP auxquels l’agent s’est inscrit. Un agent dérivé de la classe RoutingAgent peut agir sur n’importe lequel des quatre événements de catégoriseur auxquels il a été inscrit. Un agent dérivé de la classe DeliveryAgent peut agir sur un message pendant l’un des événements de remise auxquels il s’est inscrit.

Rôles serveur et agents de transport

Les modifications apportées à l’architecture de rôle serveur dans Exchange 2013 affectent les agents de transport et ce que vos agents de transport peuvent faire. Exchange 2013 inclut les rôles serveur suivants :

  • Serveur de boîtes aux lettres : inclut des protocoles d’accès au client, le service de transport, des bases de données de boîtes aux lettres et des composants de messagerie unifiée. Le serveur de boîtes aux lettres communique directement avec les services de domaine Active Directory (AD DS), les serveurs d’accès au client et des clients de messagerie comme Outlook.

  • Serveur d’accès au client : fournit des services d’authentification, de redirection limitée et de proxy, ainsi que des protocoles d’accès au client comme HTTP, POP, IMAP et SMTP.

  • Serveur de transport Edge : route les e-mails en direction et à partir d’une organisation. En règle générale, les serveurs de transport Edge se trouvent au niveau du périmètre d’une topologie Exchange.

Cette structure consolidée permet de réduire le nombre de serveurs qui doivent être déployés dans un environnement Exchange 2013. Les administrateurs n’ont plus à déployer des serveurs de transport Hub et d’accès au client dans chaque site Active Directory qui comprend un serveur de boîtes aux lettres, et ils n’ont plus besoin de mettre à jour tous les rôles serveur afin de bénéficier des nouvelles fonctionnalités.

Ces modifications apportées à l’architecture des rôles serveur peuvent potentiellement modifier l’emplacement du pipeline où votre agent peut répondre aux événements. Si vous avez créé des agents de transport pour des versions d’Exchange antérieures à Exchange 2013, passez en revue les modifications apportées à l’architecture pour déterminer si vous devez apporter des modifications à vos agents.

La figure suivante indique en quoi les changements d’architecture d’Exchange 2013 offrent un pipeline de transport simplifié et consolidé. Dans cette illustration, les serveurs d’accès au client sont représentés par les vignettes CAS. Les serveurs de boîtes aux lettres sont eux représentés par les vignettes MBX.

Figure 2. Architecture de rôles de serveur Exchange 2013

Image illustrant le trafic client via un pare-feu externe et le transport Edge sur la gauche qui transmet le trafic par le biais d’un équilibrage de charge de couche 4 vers un tableau CAS consolidé et un ensemble de serveurs de boîtes aux lettres dans un groupe d’accessibilité de base de données sur la droite.

La figure suivante illustre les interactions entre les rôles serveur Exchange 2013.

Figure 3. Interactions entre les serveurs de boîtes aux lettres et les serveurs d’accès au client

Image présentant les interactions en débutant avec des flèches à partir du trafic client passant à travers un équilibrage de charge de couche 4 qui possède 4 cibles dans le tableau CAS : IIS/proxy HTTP, POP/IMAP, SMTP et messagerie unifiée. Les flèches passent vers leurs cibles complémentaires dans la banque de boîtes aux lettres.

Pour plus d’informations sur les modifications apportées à l’architecture de rôle serveur Exchange 2013, voir Architecture Exchange 2013 dans Nouveautés d’Exchange 2013.

Classes d’agent de transport

La classe dont votre agent de transport est dérivé détermine les événements pour lesquels votre agent peut être enregistré. Votre agent contient généralement une classe d’agent, une fabrique d’agent, un ou plusieurs gestionnaires d’événements, ainsi que le code qui effectue les actions que vous voulez que votre agent applique.

Le tableau suivant indique les classes à partir desquelles chaque type d’agent est dérivé.

Tableau 2. Classes d’agent

Type d’agent Classe de base de fabrique Classe de base d’agent
Réception SMTP
SmtpReceiveAgentFactory
SmtpReceiveAgent
Routage
RoutingAgentFactory
RoutingAgent
Remise
Gestionnaire deliveryAgentFactory<>
DeliveryAgent

Ces classes de base de fabrique et d’agent fournissent des propriétés et les méthodes que vous pouvez utiliser pour accéder à des messages et à des événements de transport. Mettez en œuvre des classes qui héritent de celles-ci dans votre agent. Dans la classe dérivée de la fabrique d’agent, remplacez la méthode CreateAgent afin qu’elle renvoie une nouvelle instance de votre classe d’agent.

Les arguments passés aux événements peuvent contenir une instance de la classe EmailMessage , que vous pouvez utiliser pour modifier les propriétés et le contenu du message sous-jacent. Toutes les informations du message sont disponibles dans chaque événement. Vous devez déterminer l’agent et l’événement qui conviennent le mieux à la tâche que vous voulez accomplir.

Les espaces de noms suivants contiennent des types qui vous permettent de lire, d’écrire et de modifier des messages dans le pipeline de transport :

Après avoir écrit votre agent de transport, vous installez et gérez votre agent à l’aide d’Exchange Management Shell. Pour plus d’informations, voir Creating transport agents for Exchange 2013.

Voir aussi