Transport-Agents

Gilt für: Exchange Server 2013

Mit Transport-Agents können Sie benutzerdefinierte Software von Microsoft, Drittanbietern oder Ihrer Organisation auf einem Exchange-Server installieren. Diese Software kann dann E-Mail-Nachrichten verarbeiten, die die Transportpipeline passieren. In Microsoft Exchange Server 2013 besteht die Transportpipeline aus den folgenden Prozessen:

  • Dem Front-End-Transport-Dienst auf Clientzugriffsservern

  • Dem Transportdienst auf Postfachservern

  • Dem Postfach-Transportdienst auf Postfachservern

  • Dem Transportdienst auf Edge-Transport-Servern

Weitere Informationen zur Transportpipeline finden Sie unter Nachrichtenübermittlung.

Wie bei den vorherigen Versionen von Exchange ermöglicht der Exchange 2013-Transport die Erweiterbarkeit über das Transport-Agents-SDK für Microsoft Exchange Server 2013. Die Exchange 2013-Version des SDK basiert auf der Microsoft .NET Framework Version 4.0 und ermöglicht Es Drittanbietern, die folgenden vordefinierten Klassen zu implementieren:

  • SmtpReceiveAgent

  • RoutingAgent

  • DeliveryAgent

Wenn sie mit Bibliotheken im SDK abgeglichen werden, werden die sich ergebenden Assemblys mit Exchange 2013 registriert, wodurch die Agents geladen und ihre Ereignishandler in bestimmten Phasen der SMTP-Sitzungen oder während der Nachrichtenverarbeitung aufgerufen werden. Diese Phasen oder Ereignisse sind Teil der Agent-Definitionen. Die Agent-Registrierungsinformationen werden in einer XML-Konfigurationsdatei gespeichert.

In der folgenden Liste werden die Anforderungen für die Verwendung von Transport-Agents in Exchange 2013 erläutert.

  • Der Transportdienst auf Postfachservern und Edge-Transport-Servern unterstützt alle vordefinierten Klassen im SDK vollständig. Daher sollten alle Transport-Agents von Drittanbietern, die für die Hub-Transport- oder Edge-Transport-Serverrollen in Microsoft Exchange Server 2010 geschrieben wurden, im Transportdienst in Exchange 2013 funktionieren.

  • Der Front-End-Transportdienst unterstützt nur die SmtpReceiveAgent-Klasse im SDK, und Agents von Drittanbietern können nicht für das OnEndOfData-SMTP-Ereignis ausgeführt werden.

  • Der Postfachtransportdienst unterstützt das SDK überhaupt nicht, sodass Sie keine Agents von Drittanbietern im Postfachtransportdienst verwenden können.

Die Unterstützung für Legacytransport-Agents, die auf Versionen vor .NET Framework, Version 4.0, basieren, ist nicht standardmäßig aktiviert, kann aber von Ihnen aktiviert werden. Anweisungen finden Sie unter Aktivieren der Unterstützung für Transport-Agents einer Vorversion.

Updates für die Transport-Agent-Verwaltung

Aufgrund der Updates der Exchange 2013-Transportpipeline müssen die Transport-Agent-Cmdlets zwischen dem Transportdienst und dem Front-End-Transportdienst unterscheiden, insbesondere wenn der Clientzugriffsserver und der Postfachserver auf demselben Computer installiert sind. Weitere Informationen finden Sie unter Verwalten von Transport-Agents.

Transport-Agent-Verwaltungs-Cmdlets bearbeiten eine Konfigurationsdatei unter %ExchangeInstallPath%TransportRoles\Shared. Für den Transportdienst auf Postfachservern und Edge-Transport-Servern ist agents.configdie Datei . Für den Front-End-Transportdienst auf Clientzugriffsservern ist fetagents.configdie Datei . Beide Dateien verwenden dasselbe Format wie in Exchange 2010. Weitere Informationen zur Verwaltung von Transport-Agents finden Sie unter Verwalten von Transport-Agents.

Transport-Agents und SMTP-Ereignisse

Transport-Agents verwenden SMTP-Ereignisse. Diese Ereignisse werden ausgelöst, wenn Nachrichten die Transportpipeline durchlaufen. SMTP-Ereignisse erlauben Transport-Agents den Zugriff auf Nachrichten an bestimmten Punkten während der SMTP-Konversation und beim Routing von Nachrichten durch die Organisation.

Bitte beachten Sie, dass in Exchange 2013 SMTP-Empfangsereignisse zur Verfügung stehen. SMTP Receive ist im Front-End-Transportdienst auf Clientzugriffsservern, dem Transportdienst auf Postfachservern und Edge-Transport-Servern sowie dem Postfachtransport-Zustellungsdienst auf Postfachservern verfügbar. Das Kategorisierungsmodul existiert nur im Transportdienst auf Postfachservern und Edge-Transport-Servern. Weitere Informationen zu Transportdiensten und dem Kategorisierungsmodul finden Sie unter E-Mail-Routing.

In den folgenden Tabellen sind die SMTP-Ereignisse aufgeführt, die Zugriff auf Nachrichten in der Transportpipeline bieten.

SMTP-Empfangsereignisse

Sequence SMTP-Ereignis Beschreibung
1 OnConnectEvent Dieses Ereignis wird bei der Erstverbindung von einem Remote-SMTP-Host ausgelöst.
2 OnHeloCommand Dieses Ereignis wird ausgelöst, wenn der HELO Befehl vom SMTP-Remotehost ausgegeben wird.
3 OnEhloCommand Dieses Ereignis wird ausgelöst, wenn der EHLO Befehl vom SMTP-Remotehost ausgegeben wird.
4 OnStartTlsCommand Dieses Ereignis wird ausgelöst, wenn der STARTTLS Befehl vom SMTP-Remotehost ausgegeben wird.
5 OnAuthCommand Dieses Ereignis wird ausgelöst, wenn der AUTH Befehl vom SMTP-Remotehost ausgegeben wird.
6 OnProcessAuthentication Dieses Ereignis wird ausgelöst, wenn die Authentifizierung am Remote-SMTP-Host verarbeitet wird.
7 OnEndOfAuthentication Dieses Ereignis wird ausgelöst, wenn der Remote-SMTP-Host die Authentifizierung abgeschlossen hat.
8 OnXSessionParamsCommand Dieses Ereignis wird ausgelöst, wenn der XSESSIONPARAMS Befehl vom SMTP-Remotehost ausgegeben wird.
9 OnMailCommand Dieses Ereignis wird ausgelöst, wenn der MAIL FROM Befehl vom SMTP-Remotehost ausgegeben wird.
10 OnRcptToCommand Dieses Ereignis wird ausgelöst, wenn der RCPT TO Befehl vom SMTP-Remotehost ausgegeben wird.
11 OnDataCommand Dieses Ereignis wird ausgelöst, wenn der DATA Befehl (Text) oder BDAT (Binärdaten) vom SMTP-Remotehost ausgegeben wird.
12 OnEndOfHeaders Dieses Ereignis wird ausgelöst, wenn der Remote-SMTP-Host die Übermittlung der E-Mail-Nachrichtenkopfzeilen abgeschlossen hat. Dies wird durch eine Leerzeile (<CRLF>) angegeben, die die Nachrichtenkopfzeilen und den Nachrichtentext trennt.
13 OnProxyInboundMessage Dieses Ereignis wird ausgelöst, wenn eine eingehende SMTP-Sitzung mittels Relay oder Proxyweiterleitung durch den Front-End-Dienst auf einem Clientzugriffsserver an den Transportdienst auf einem Postfachserver gesendet wird.
14 OnEndOfData Dieses Ereignis wird ausgelöst, wenn der Remote-SMTP-Host den Befehl "end of data" ausgibt. Bei Textsitzungen, die mit dem DATA Befehl gestartet werden, ist <CRLF>.<CRLF>der Indikator für das Datenende . Bei binären Sitzungen, die mit dem BDAT Befehl gestartet werden, lautet BDAT LASTder Indikator für das Datenende .
** OnHelpCommand Dieses Ereignis wird ausgelöst, wenn der HELP Befehl vom SMTP-Remotehost ausgegeben wird.
** OnNoopCommand Dieses Ereignis wird ausgelöst, wenn der NOOP Befehl vom SMTP-Remotehost ausgegeben wird.
** OnReject Dieses Ereignis wird ausgelöst, wenn der empfangende SMTP-Host einen temporären oder endgültigen Code für die Benachrichtigung über den Übermittlungsstatus an den sendenden SMTP-Host ausgibt.
** OnRsetCommand Dieses Ereignis wird ausgelöst, wenn der RSET Befehl vom sendenden SMTP-Host ausgegeben wird.
15 OnDisconnectEvent Dieses Ereignis wird beim Trennen der Verbindung der SMTP-Konversation vom empfangenden oder sendenden SMTP-Host ausgelöst. Dies geschieht in der Regel, wenn der QUIT Befehl vom SMTP-Remotehost ausgegeben wird.

** Diese Ereignisse können jederzeit nach OnConnectEvent und vor OnDisconnectEvent auftreten.

Kategorisierungsereignisse

Sequence SMTP-Ereignis Beschreibung
1 OnSubmittedMessage Dieses Ereignis wird ausgelöst, wenn eine Nachricht in der Übermittlungswarteschlange im Transportdienst auf dem empfangenden Postfachserver oder Edge-Transport-Server ankommt.
2 OnResolvedMessage Dieses Ereignis wird ausgelöst, nachdem alle Empfänger aufgelöst wurden, jedoch bevor der nächste Hop für die einzelnen Empfänger bestimmt wurde. Das Routingereignis OnResolvedMessage ermöglicht nachfolgenden Ereignissen die Außer-Kraft-Setzung des standardmäßigen Routingverhaltens mithilfe der SetRoutingOverride -Methode auf Empfängerbasis.
3 OnRoutedMessage Dieses Ereignis wird ausgelöst, nachdem Nachrichten kategorisiert, Verteilerlisten erweitert und Empfänger aufgelöst wurden.
4 OnCategorizedMessage Dieses Ereignis wird ausgelöst, wenn das Kategorisierungsmodul die Verarbeitung der Nachricht abgeschlossen hat.

Priorität von Transport-Agents

Zwei Faktoren entscheiden über die Reihenfolge, in der Transport-Agents Nachrichten in der Transportpipeline verarbeiten:

  1. Das SMTP-Ereignis, in dem der Transport-Agent registriert wird, und der Zeitpunkt, zu dem das SMTP-Ereignis Nachrichten verarbeitet.

  2. Der Prioritätswert, der dem Transport-Agent zugewiesen wird, wenn mehrere Agents für dasselbe SMTP-Ereignis registriert sind. Die höchste Priorität ist 1. Ein höherer Ganzzahlwert steht für eine niedrigere Agent-Priorität.

Angenommen, dass Sie z. B. die folgenden Transport-Agents konfiguriert haben:

  • Transport-Agent A mit der Priorität 1 und Transport-Agent C mit der Priorität 2 sind für das SMTP-Ereignis OnEndOfHeaders registriert.

  • Transport-Agent B mit der Priorität 4 ist für das SMTP-Ereignis OnMailCommand registriert.

Transport-Agent B wird zuerst auf Nachrichten angewendet, da das Ereignis OnMailCommand die Nachrichten vor dem Ereignis OnEndOfHeaders verarbeitet. Wenn die Nachrichten das Ereignis OnEndOfHeaders erreichen, wird Transport-Agent A vor Transport-Agent C angewendet, da Transport-Agent A eine höhere Priorität (geringerer Ganzzahlwert) als Transport-Agent C hat.

Integrierte Transport-Agents

Exchange 2013 enthält viele integrierte Transport-Agents, die Funktion wie Antispam, Transportregeln und Journale bieten. Die meisten der integrierten Transport-Agents auf Exchange 2013-Postfachservern und Clientzugriffsservern sind unsichtbar und können durch die Cmdlets zur Verwaltung von Transport-Agents nicht bearbeitet werden. Praktisch alle integrierten Transport-Agents, die sichtbar sind und verwaltet werden können, befinden sich im Transportdienst auf Postfachservern und Edge-Transport-Servern.

Die interessantesten integrierten Transport-Agents auf Postfachservern werden in der folgenden Tabelle beschrieben. Bitte beachten Sie, dass die Tabelle viele der unsichtbaren und nicht zu verwaltenden Transport-Agents enthält.

Interessante integrierte Transport-Agents auf Postfachservern

Name des Agents Verwaltbar? Priorität SMTP- oder Kategorisierungsereignisse
Transportregel-Agent Ja 1 OnResolvedMessage
Malware-Agent Ja 2 OnSubmittedMessage
SMS-Routing-Agent Ja 3 OnSubmittedMessage
SMS-Zustellungs-Agent Ja 4 N/V
Journal-Agent Nein Nicht konfigurierbar OnRoutedMessage
Journalberichtentschlüsselungs-Agent Nein Nicht konfigurierbar OnCategorizedMessage
RMS-Entschlüsselungs-Agent Nein Nicht konfigurierbar OnSubmittedMessage
RMS-Verschlüsselungs-Agent Nein Nicht konfigurierbar OnSubmittedMessage
OnRoutedMessage
RMS-Protokoll-Entschlüsselungs-Agent Nein Nicht konfigurierbar OnEndOfData

Auf Edge-Transport-Servern sind die meisten integrierten Transport-Agents sichtbar und durch die Cmdlets zur Verwaltung von Transport-Agents oder durch andere featurespezifische Cmdlets verwaltbar.

Die interessantesten integrierten Transport-Agents auf Edge-Transport-Servern werden in der folgenden Tabelle beschrieben. Bitte beachten Sie, dass die Tabelle keine unsichtbaren oder unverwaltbaren Transport-Agents enthält.

Interessante integrierte Transport-Agents auf Edge-Transport-Servern

Name des Agents Verwaltbar? Priorität SMTP- oder Kategorisierungsereignisse
Verbindungsfilter-Agent Ja 1 OnConnectEvent
OnMailCommand
OnRcptComand
OnEndOfHeaders
Adressumschreibungs-Agent für eingehende Nachrichten Ja 2 OnRcptComand
OnEndOfHeaders
Edge-Regel-Agent Ja 3 OnEndOfData
Inhaltsfilter-Agent* Ja 4 OnEndOfData
Absender-ID-Agent* Ja 5 OnEndOfHeaders
Absenderfilter-Agent* Ja 6 OnMailCommand
OnEndOfHeaders
Empfängerfilter-Agent Ja 7 OnRcptCommand
Protokollanalyse-Agent* Ja 8 OnConnectEvent
OnEndOfHeaders
OnEndOfData
OnReject
OnRsetCommand
OnDisconnectEvent
Anlagenfilter-Agent Ja 9 OnEndOfData
Adressumschreibungs-Agent für ausgehende Nachrichten Ja 10 OnSubmittedMessage
OnRoutedMessage

* Diese Antispam-Agents können Sie auch auf Postfachservern installieren und konfigurieren. Weitere Informationen finden Sie unter Aktivieren der Antispamfunktionen auf einem Postfachserver.

Problembehandlung von Transport-Agents

Zur Behebung von Problemen mit Transport-Agents können Sie die folgenden Features nutzen:

  • Get-TransportPipeline: Dieses Cmdlet zeigt die SMTP-Ereignisse und die entsprechenden Transport-Agents an, bei denen Nachrichten auf dem Exchange-Server auftreten. Weitere Informationen finden Sie unter Anzeigen von Transport-Agents in der Transportpipeline.

  • Pipelineablaufverfolgung: Die Pipelineablaufverfolgung erstellt eine genaue Momentaufnahme einer Nachricht, bevor und nachdem sie auf jeden Transport-Agent trifft. Dadurch können Sie nach Transport-Agents suchen, die unerwartete Ergebnisse herbeiführen. Weitere Informationen finden Sie unter Pipelineablaufverfolgung.