Vue d'ensemble des agents de transport

 

S’applique à : Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Dernière rubrique modifiée : 2007-07-17

Les Agents de transport vous permettent d'installer des logiciels personnalisés, créés par Microsoft, par des fournisseurs tiers ou par votre organisation, sur un ordinateur exécutant Microsoft Exchange Server 2007. Ce logiciel peut traiter des messages électroniques qui transitent par le pipeline de transport sur un serveur de transport Hub ou Edge. Les Agents de transport personnalisés apportent des fonctionnalités supplémentaires à Exchange 2007, telles que des programmes de blocage du courrier indésirable ou des antivirus dont votre organisation peut avoir besoin.

Les Agents de transport sont généralement installés automatiquement en même temps que les applications conçues pour fonctionner avec Exchange 2007. Toutefois, il peut arriver que des organisations veuillent développer leurs propres agents de transport pour gérer le courrier circulant dans leur organisation Exchange 2007.

CautionAttention :
Les agents de transport ont un accès illimité aux messages électroniques qu'ils rencontrent. Exchange n'impose aucune restriction au comportement des agents de transport. Des agents de transport instables ou présentant des failles de sécurité peuvent affecter la stabilité et la sécurité d'Exchange. C'est pourquoi vous ne devez installer que des agents de transport totalement approuvés et qui ont été entièrement testés dans un environnement approprié.

Pour plus d'informations sur l'écriture d'un nouvel agent de transport, consultez la page relative aux agents de transport dans la « Documentation sur Microsoft Exchange Server 2007 SDK ».

Pour plus d'informations sur le pipeline de transport dans Exchange 2007, consultez la rubrique Architecture du transport.

Agents de transport et événements SMTP

Les Agents de transport écrits pour Exchange 2007 utilisent des événements SMTP (Simple Mail Transfer Protocol). Ces événements sont déclenchés lors du déplacement de messages dans le pipeline de transport. Les événements SMTP permettent aux agents de transport d'accéder à des messages en des points spécifiques durant la conversation SMTP et durant le routage de messages dans l'organisation. Le tableau 1 présente les événements SMTP qui donnent accès à des messages dans le pipeline de transport :

Tableau 1   Événements SMTP

Séquence Événement SMTP Description

1

OnConnectEvent

Cet événement est déclenché lors d'une connexion initiale depuis un hôte SMTP distant.

2

OnHeloCommand

Cet événement est déclenché lorsque le verbe SMTP HELO est émis par l'hôte SMTP distant.

3

OnEhloCommand

Cet événement est déclenché lorsque le verbe SMTP EHLO est émis par l'hôte SMTP distant.

4

OnAuthCommand

Cet événement est déclenché lorsque le verbe SMTP AUTH est émis par l'hôte SMTP distant.

5

OnEndOfAuthentication

Cet événement est déclenché lorsque l'hôte SMTP distant a terminé l'authentification.

6

OnMailCommand

Cet événement est déclenché lorsque le verbe SMTP MAIL FROM est émis par l'hôte SMTP distant.

7

OnRcptCommand

Cet événement est déclenché lorsque le verbe SMTP RCPT TO est émis par l'hôte SMTP distant.

8

OnDataCommand

Cet événement est déclenché lorsque le verbe SMTP DATA est émis par l'hôte SMTP distant.

9

OnEndOfHeaders

Cet événement est déclenché lorsque l'hôte SMTP distant a terminé la soumission des en-têtes de message électronique.

10

OnEndOfData

Cet événement est déclenché lorsque l'hôte SMTP distant émet <CRLF>.<CRLF>, indiquant la fin des données.

**

OnHelpCommand

Cet événement est déclenché lorsque le verbe SMTP HELP est émis par l'hôte SMTP distant. Cet événement peut se produire à tout moment après l'événement SMTP OnConnectEvent et avant l'événement SMTP OnDisconnectEvent.

**

OnNoopCommand

Cet événement est déclenché lorsque le verbe SMTP NOOP est émis par l'hôte SMTP distant. Cet événement peut se produire à tout moment après l'événement SMTP OnConnectEvent et avant l'événement SMTP OnDisconnectEvent.

**

OnReject

Cet événement est déclenché lorsque l'hôte SMTP récepteur envoie un code de notification d'état de remise temporaire ou permanent à l'hôte SMTP expéditeur. Cet événement peut se produire à tout moment après l'événement SMTP OnConnectEvent et avant l'événement SMTP OnDisconnectEvent.

**

OnRsetCommand

Cet événement est déclenché lorsque le verbe SMTP RSET est émis par l'hôte SMTP expéditeur. Cet événement peut se produire à tout moment après l'événement SMTP OnConnectEvent et avant l'événement SMTP OnDisconnectEvent.

11

OnDisconnectEvent

Cet événement est déclenché lors de la déconnexion de la conversation SMTP par un hôte SMTP récepteur ou expéditeur.

12

OnSubmittedMessage

Cet événement est déclenché lors de la déconnexion d'un message dans les files d'attente de soumission sur l'hôte SMTP récepteur. Tous les messages rencontrent cet événement, qu'ils soient arrivés via une soumission SMTP, une soumission MAPI ou les répertoires de collecte ou de relecture.

13

OnResolvedMessage

Cet événement est déclenché lorsque tous les destinataires ont été résolus mais avant que le saut suivant ait été déterminé pour chaque destinataire. L'événement de routage OnResolvedMessage permet que des événements ultérieurs remplacent le comportement de routage par défaut à l'aide de la méthode SetRoutingOverride par destinataire.

> [!Note] > L'événement de routage OnResolvedMessage n'est disponible que dans Exchange 2007 Service Pack 1 (SP1).

14

OnRoutedMessage

Cet événement est déclenché après la catégorisation des messages, l'extension des listes de distribution et la résolution des destinataires.

Des agents de transport peuvent être enregistrés sur tout agent SMTP répertorié dans le tableau 1. Toutefois, l'action souhaitée de l'Agent de transport indique généralement les événements SMTP sur lesquels il s'exécute.

Pour les Agents de blocage du courrier indésirable, la principale considération, en dehors de la validité du contenu du message, est le point où un message de courrier indésirable valide est repéré et rejeté. Au plus tôt un message confirmé comme étant du courrier indésirable est rejeté, moindre est le coût pour votre organisation. Les événements SMTP déclenchés avant l'événement SMTP OnEndOfData ne nécessitent pas tous la génération d'une notification d'échec de remise par l'hôte SMTP récepteur. Aucune notification d'échec de remise n'est générée parce que le contenu complet du message n'est pas remis avant l'événement SMTP OnEndOfData. C'est pourquoi, l'hôte SMTP expéditeur reste responsable de la remise finale du message. Si la remise à l'hôte SMTP récepteur se produit avant l'événement SMTP OnEndOfData, l'hôte SMTP expéditeur doit envoyer le notification d'échec de remise à l'expéditeur du message. Après avoir atteint l'événement SMTP OnEndOfData, l'hôte SMTP récepteur a accepté tout le contenu du message. Cela signifie que l'hôte SMTP est actuellement responsable de remettre avec succès le message et de générer et envoyer une notification d'échec de remise à l'expéditeur du message. C'est pourquoi il est essentiel qu'un Registre de blocage du courrier indésirable s'enregistre sur les événements SMTP avant d'atteindre l'événement SMTP OnEndOfData pour réduire la probabilité que l'hôte SMTP récepteur stocke le contenu du message et doive envoyer une notification d'échec de remise à l'expéditeur du message.

Toutefois, pour les agents antivirus, l'essentiel est de s'assurer que chaque message est analysé. Les agents qui doivent voir chaque message doivent être configurés sur l'événement SMTP OnSubmittedMessage. Chaque message transitant par le pipeline de transport rencontre l'événement SMTP OnSubmittedMessage parce qu'il se produit après tous les points d'entrée de soumission possibles, tels qu'une soumission SMTP à partir d'hôtes distants, une soumission MAPI à partir d'ordinateurs exécutant le rôle serveur de boîtes aux lettres, le répertoire de collecteur utilisé par des applications personnalisées ou le répertoire de relecture utilisé par des applications de messagerie tierces.

Définition des priorités des agents de transport

Exchange 2007 vous permet de spécifier la priorité des agents de transport inclus dans Exchange et ajoutés par des applications personnalisées. En spécifiant la priorité d'un agent de transport, vous pouvez contrôler les agents qui agissent en premier lieu sur un message. Vous pouvez attribuer aux agents de transport une priorité 1 ou supérieure. Les Agents de transport dont la priorité est la plus proche de 1 sont d'abord appliqués aux messages. Toutefois, la priorité que vous attribuez à un agent de transport est le seul facteur utilisé pour déterminer l'ordre dans lequel les agents de transport sont appliqués à des messages. Le deuxième facteur utilisé pour déterminer la priorité des agents de transport est lorsque l'événement SMTP disposant d'un agent de transport s'inscrit dans la séquence d'événements SMTP.

Comme le montre le tableau 1 ci-avant dans cette rubrique, les événements SMTP sont associés à une séquence spécifique dans laquelle ils sont appliqués à des messages qui transitent dans le pipeline de transport. Par exemple, l'événement SMTP OnConnectEvent survient toujours avant les événements SMTP OnHeloCommand ou OnEhloCommand. Comme les Agents de transport sont enregistrés pour des événements SMTP spécifique, quelle que soit la priorité attribuée à un agent de transport pour l'événement SMTP OnEhloCommand, les Agents de transport enregistrés sur l'événement SMTP OnConnectEvent sont toujours appliqués aux messages en premier lieu.

Par exemple, vous pouvez avoir des agents de transport configurés comme suit :

  • Agent de transport AgentA avec une priorité 1 enregistrée pour l'événement SMTP OnEndofHeaders

  • Agent de transport AgentB avec une priorité 4 enregistrée pour l'événement SMTP OnMailCommand

Si vous affichez votre liste d'agents enregistrés à l'aide de la cmdlet Get-TransportAgent, l'Agent de transport AgentA a une priorité supérieure à celle de l'Agent de transport AgentB. Toutefois, quand un message transite dans le pipeline de transport, l'Agent de transport AgentB est appliqué au message avant l'Agent de transport AgentA parce que l'événement SMTP OnMailCommand rencontre le message avant l'événement SMTP OnEndOfHeaders.

La priorité que vous attribuez à un agent de transport devient pertinente quand au moins deux agents de transport sont enregistrés sur le même événement SMTP. Si l'Agent de transport AgentA et l'Agent de transport AgentB sont tous deux enregistrés sur l'événement SMTP OnEndofHeaders, quand un message rencontre l'événement, l'Agent de transport AgentA est appliqué au message avant l'Agent de transport AgentB. Si un agent de transport AgentB est enregistré sur les événements SMTP OnEndOfHeaders et OnMailCommand, il est appliqué au message deux fois. L'Agent de transport AgentB est appliqué en premier lieu parce qu'il est enregistré pour l'événement SMTP OnMailCommand. Ensuite, lorsque le message rencontre l'événement SMTP OnEndOfHeaders où l'Agent de transport AgentA et l'Agent de transport AgentB sont enregistrés, l'Agent de transport AgentA est appliqué parce que sa priorité est supérieure à celle de l'Agent de transport AgentB. Enfin, l'Agent de transport AgentB est appliqué pour la seconde fois.

Agents de transport intégrés

Exchange 2007 inclut plusieurs agents de transport par défaut qui lui permettent d'offrir des fonctionnalités telles que les règles de transport et la journalisation. Par défaut, les Agents de transport répertoriés dans les tableaux suivants sont installés sur des serveurs de transport Hub et de transport Edge. Les tableaux ci-après indiquent également des rubriques contenant des informations supplémentaires sur chaque agent.

Tableau 2   Agents de transport du serveur de transport Hub

Nom de l'Agent Priority Événements SMTP Description

Agent de règles de transport

1

OnRoutedMessage

Vue d'ensemble des règles de transport

Agent de journalisation

2

OnSubmittedMessage, OnRoutedMessage

Vue d'ensemble de la journalisation

Agent de pré-licence des services AD RMS (Active Directory Rights Management Services)

> [!Note] > L'agent de pré-licence des services AD RMS n'est disponible que dans Exchange 2007 SP1. Il est désactivé par défaut.

3

OnRoutedMessage

Présentation de l'Agent de pré-licence AD RMS

Tableau 3   Agents de transport du serveur de transport Edge

Nom de l'Agent Priority Événements SMTP Voir aussi

Agent de filtrage des connexions

1

OnConnectEvent, OnMailCommand, OnRcptComand, OnEndOfHeaders

Filtrage des connexions

Agent entrant de réécriture d'adresses

2

OnRcptCommand, OnEndOfHeaders

Planification de la réécriture d'adresses

Agent d'application de règle de transport Edge

3

OnEndOfData

Vue d'ensemble des règles de transport

Agent de filtrage du contenu

4

OnEndOfData

Filtrage du contenu

Agent d'ID de l'expéditeur

5

OnEndOfHeaders

ID de l'expéditeur

Agent de filtrage des expéditeurs

6

OnMailCommand, OnEndOfHeaders

Filtrage des expéditeurs

Agent de filtrage des destinataires

7

OnRcptCommand

Filtrage des destinataires

Agent d'analyse de protocole

8

OnEndOfHeaders, OnEndOfData, OnReject, OnRsetCommand, OnDisconnectEvent

Gestion de l'enregistrement dans le journal de protocole

Agent de filtrage des pièces jointes

9

OnEndOfData

Filtrage des pièces jointes

Agent sortant de réécriture d'adresses

10

OnRcptCommand, OnEndOfHeaders

Planification de la réécriture d'adresses

Dépannage des agents de transport

Grâce aux agents de transport, Exchange vous aide à contrôler le flux de messagerie électroniques dans votre organisation. Cela vous permet de mettre votre infrastructure Exchange en adéquation avec les besoins de votre organisation au lieu de forcer votre organisation à être en adéquation avec votre infrastructure de messagerie. Au fur et à mesure que vous personnalisez votre environnement, sa complexité augmente. Pour vous aider à dépanner les problèmes susceptibles de se produire et à vérifier que les modifications apportées sont appliquées aux messages comme vous le souhaitez, Exchange offre les fonctionnalités suivantes :

  • Cmdlet Get-TransportPipeline   La cmdlet Get-TransportPipeline affiche tous les agents de transport activés et les événements SMTP pour lesquels ils sont enregistrés, qui ont rencontré des messages dans le pipeline de transport entre l'heure de démarrage sur service de transport Microsoft et l'heure d'exécution de la cmdlet. Pour plus d'informations, consultez la rubrique Affichage des agents de transport dans le pipeline de transport.

    Notes

    Les informations affichées par la cmdlet Get-TransportPipeline ne sont générées qu'après qu'un message a été expédié via le pipeline de transport. De la même façon, seuls les agents de transport ayant rencontré le message s'affichent.

  • Suivi du pipeline  Le suivi du pipeline vous permet d'obtenir l'instantané exact d'un message entier avant et après avoir rencontré chaque agent de transport. Le suivi du pipeline permet de déterminer quel agent de transport peut avoir généré des résultats inattendus ou de vérifier que l'Agent de transport se comporte comme prévu. Pour plus d'informations, consultez la rubrique Utilisation du suivi de pipeline pour diagnostiquer les problèmes d'agents de transport.

Pour plus d'informations

Pour plus d'informations sur les agents de transport, consultez les rubriques suivantes :