Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erfahren Sie, wie Sie einen benutzerdefinierten DeliveryAgent-Transport-Agent für die Verwendung mit Exchange 2013 erstellen.
Gilt für: Exchange Server 2013
Die Klassen DeliveryAgentFactory<Manager> und DeliveryAgent sind die Basisklassen für Transport-Agents, die für die Ausführung im Transportdienst auf einem Exchange Server 2013-Postfachserver konzipiert sind. Sie können Handler in Ihrem DeliveryAgent-Transport-Agent für die Ereignisse implementieren, die von der DeliveryAgent-Klasse bereitgestellt werden, die in der folgenden Tabelle aufgeführt sind.
Tabelle 1. Ereignisse der DeliveryAgent-Klasse
Document.SelectionChanged -Ereignis | Beschreibung |
---|---|
OnCloseConnection |
Tritt ein, nachdem das letzte E-Mail-Element zugestellt wurde und die Verbindung geschlossen wurde. |
OnDeliverMailItem |
Tritt auf, wenn ein E-Mail-Element bereit für die Zustellung ist. |
OnOpenConnection |
Tritt auf, wenn der Zustellungs-Agent für die E-Mail-Zustellung geöffnet wird. |
Erstellen eines benutzerdefinierten DeliveryAgent-Transport-Agents
Im folgenden Verfahren wird beschrieben, wie Sie einen benutzerdefinierten DeliveryAgent-Transport-Agent erstellen.
So erstellen Sie den Transport-Agent
Fügen Sie Verweise auf die Namespaces hinzu.
using Microsoft.Exchange.Data.Transport; using Microsoft.Exchange.Data.Transport.Delivery;
Sie finden diese Namespaces auf Ihrem Exchange-Server. Durch Hinzufügen eines Verweises auf diese Namespaces haben Sie Zugriff auf die DeliveryAgent-Member .
Implementieren Sie die abgeleitete Klasse für die DeliveryAgentFactory<Manager-Klasse> .
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"; } } } }
Dieser Code instanziiert die abgeleitete Klasse und überschreibt die CreateAgent-Methode , um eine Instanz Ihres neuen benutzerdefinierten Agents zu erstellen. In dieser Klasse können auch zusätzliche Methoden wie Close überschrieben werden, um benutzerdefinierten Code auszuführen. Eine DeliveryAgentManager-Klasse wird erstellt, um die SupportedDeliveryProtocol-Eigenschaft zu überschreiben und das Protokoll festzulegen, das Ihr Agent verwenden wird.
Definieren Sie Ihren Agent.
public class MyDeliveryAgent : DeliveryAgent { public MyDeliveryAgent(SmtpServer server) { this.OnCloseConnection += CloseConnection; this.OnDeliverMailItem += DeliverMailItem; this.OnOpenConnection += OpenConnection; } }
Nachdem Sie Ihre Agent-Klasse definiert haben, können Sie benutzerdefinierte Funktionen hinzufügen. In diesem Beispiel werden die drei Ereignisse OnCloseConnection, OnDeliverMailItem und OnOpenConnection an Ihre benutzerdefinierten Ereignishandler umgeleitet.