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
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 .
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.
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.