Partager via


Créer un agent de transport DeliveryAgent pour Exchange 2013

Découvrez comment créer un agent de transport DeliveryAgent personnalisé à utiliser avec Exchange 2013.

S’applique à : Exchange Server 2013

Les classes DeliveryAgentFactory<Manager> et DeliveryAgent sont les classes de base pour les agents de transport conçus pour s’exécuter sur le service de transport sur un serveur de boîtes aux lettres Exchange Server 2013. Vous pouvez implémenter des gestionnaires dans votre agent de transport DeliveryAgent pour les événements fournis par la classe DeliveryAgent répertoriés dans le tableau suivant.

Tableau 1. Événements de classe DeliveryAgent

Événement Description
OnCloseConnection
Se produit après la remise du dernier élément de courrier et la fermeture de la connexion.
OnDeliverMailItem
Se produit lorsqu’un élément de courrier est prêt à être remis.
OnOpenConnection
Se produit lorsque l’agent de remise est ouvert pour la remise du courrier.

Création d’un agent de transport DeliveryAgent personnalisé

La procédure suivante explique comment créer un agent de transport DeliveryAgent personnalisé.

Pour créer l’agent de transport

  1. Ajoutez des références aux espaces de noms.

         using Microsoft.Exchange.Data.Transport;
         using Microsoft.Exchange.Data.Transport.Delivery;
    
    

    Vous pouvez trouver ces espaces de noms sur votre serveur Exchange. En ajoutant une référence à ces espaces de noms, vous aurez accès aux membres DeliveryAgent .

  2. Implémentez la classe dérivée pour la classe DeliveryAgentFactory<Manager> .

       public class MyDeliveryAgentFactory : DeliveryAgentFactory<MyDeliveryAgentFactory.MyDeliveryAgentManager>
       {
           static MyDeliveryAgentFactory()
           {
           }
           public override DeliveryAgent CreateAgent(SmtpServer server)
           {
               return new MyDeliveryAgent(server);
           }
           public sealed class MyDeliveryAgentManager : DeliveryAgentManager
           {
               /// <summary>
               /// Gets the supported delivery protocol.
               /// </summary>
               public override string SupportedDeliveryProtocol
               {
                   get { return "MyProtocol"; }
               }
           }
       }
    
    

    Ce code instancie la classe dérivée et remplace la méthode CreateAgent pour créer une instance de votre nouvel agent personnalisé. D’autres méthodes, telles que Close, peuvent également être remplacées dans cette classe pour exécuter du code personnalisé. Une classe DeliveryAgentManager est créée pour remplacer la propriété SupportedDeliveryProtocol et définir le protocole que votre agent utilisera.

  3. Définissez votre agent.

       public class MyDeliveryAgent : DeliveryAgent
       {
           public MyDeliveryAgent(SmtpServer server)
           {
               this.OnCloseConnection += CloseConnection;
               this.OnDeliverMailItem += DeliverMailItem;
               this.OnOpenConnection += OpenConnection;
           }
       }
    
    

    Après avoir défini votre classe d’agent, vous pouvez ajouter des fonctionnalités personnalisées. Dans cet exemple, les trois événements, OnCloseConnection, OnDeliverMailItem et OnOpenConnection, sont redirigés vers vos gestionnaires d’événements personnalisés.

Voir aussi