Übersicht über Transport-Agents

 

Gilt für: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Letztes Änderungsdatum des Themas: 2007-07-17

Mit Transport-Agents können Sie benutzerdefinierte Software, die von Microsoft, Drittanbietern oder Ihrer Organisation erstellt wurde, auf einem Computer installieren, auf dem Microsoft Exchange Server 2007 ausgeführt wird. Diese Software kann anschließend E-Mail-Nachrichten verarbeiten, die die Transportpipeline auf einem Hub-Transport-Server oder Edge-Transport-Server durchlaufen. Benutzerdefinierte Transport-Agents bieten zusätzliche Funktionalität für Exchange 2007, wie etwa Antispam- oder Antivirusprogramme oder beliebige Transportfunktionen, die für Ihre Organisation erforderlich sind.

Transport-Agents werden normalerweise automatisch als Teil von Anwendungen installiert, die mit Exchange 2007 zusammenarbeiten. In einigen Fällen möchten Organisationen jedoch ihre eigenen Transport-Agents entwickeln, um E-Mail zu verwalten, die ihre Exchange 2007-Organisation durchläuft.

CautionAchtung:
Transport-Agents haben vollen Zugriff auf alle gefundenen E-Mail-Nachrichten. Exchange schränkt das Verhalten eines Transport-Agents nicht ein. Transport-Agents, die instabil sind oder Sicherheitsfehler enthalten, können sich negativ auf die Stabilität und Sicherheit von Exchange auswirken. Aus diesem Grund dürfen Sie nur Transport-Agents installieren, die uneingeschränkt vertrauenswürdig sind und vollständig in einer Testumgebung getestet wurden.

Weitere Information Schreiben neuer Transport-Agents finden Sie unter Transport Agents in der Dokumentation zum Microsoft Exchange Server 2007 SDK.

Weitere Informationen zur Transportpipeline in Exchange 2007 finden Sie unter Transportarchitektur.

Transport-Agents und SMTP-Ereignisse

Transport-Agents, die für Exchange 2007 geschrieben wurden, verwenden SMTP-Ereignisse (Simple Mail Transfer Protocol). 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. Tabelle 1 listet die SMTP-Ereignisse auf, die Zugriff auf Nachrichten in der Transportpipeline bereitstellen:

Tabelle 1   SMTP-Ereignisse

Reihenfolge 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 das SMTP-Verb HELO vom Remote-SMTP-Host ausgegeben wird.

3

OnEhloCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb EHLO vom Remote-SMTP-Host ausgegeben wird.

4

OnAuthCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb AUTH vom Remote-SMTP-Host ausgegeben wird.

5

OnEndOfAuthentication

Dieses Ereignis wird ausgelöst, wenn der Remote-SMTP-Host die Authentifizierung abgeschlossen hat.

6

OnMailCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb MAIL FROM vom Remote-SMTP-Host ausgegeben wird.

7

OnRcptCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb RCPT TO vom Remote-SMTP-Host ausgegeben wird.

8

OnDataCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb DATA vom Remote-SMTP-Host ausgegeben wird.

9

OnEndOfHeaders

Dieses Ereignis wird ausgelöst, wenn der Remote-SMTP-Host die Übermittlung der E-Mail-Nachrichtenkopfzeilen abgeschlossen hat.

10

OnEndOfData

Dieses Ereignis wird ausgelöst, wenn der Remote-SMTP-Host <CRLF>.<CRLF> ausgibt und so das Ende der Daten anzeigt.

**

OnHelpCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb HELP vom Remote-SMTP-Host ausgegeben wird. Dieses Ereignis kann jederzeit nach dem SMTP-Ereignis OnConnectEvent und vor dem SMTP-Ereignis OnDisconnectEvent auftreten.

**

OnNoopCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb NOOP vom Remote-SMTP-Host ausgegeben wird. Dieses Ereignis kann jederzeit nach dem SMTP-Ereignis OnConnectEvent und vor dem SMTP-Ereignis OnDisconnectEvent auftreten.

**

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. Dieses Ereignis kann jederzeit nach dem SMTP-Ereignis OnConnectEvent und vor dem SMTP-Ereignis OnDisconnectEvent auftreten.

**

OnRsetCommand

Dieses Ereignis wird ausgelöst, wenn das SMTP-Verb RSET vom sendenden Remote-SMTP-Host ausgegeben wird. Dieses Ereignis kann jederzeit nach dem SMTP-Ereignis OnConnectEvent und vor dem SMTP-Ereignis OnDisconnectEvent auftreten.

11

OnDisconnectEvent

Dieses Ereignis wird beim Trennen der Verbindung der SMTP-Konversation von einem empfangenden oder sendenden SMTP-Host ausgelöst.

12

OnSubmittedMessage

Dieses Ereignis wird bei der Übermittlung einer Nachricht in die Übermittlungswarteschlangen auf dem empfangenden SMTP-Host ausgelöst. Dieses Ereignis ist für alle Nachrichten aufgetreten, wenn sie über SMTP-Übermittlung, MAPI-Übermittlung oder die PICKUP- oder Wiedergabeverzeichnisse eingegangen sind.

13

OnResolvedMessage

Dieses Ereignis wird ausgelöst, nachdem alle Empfänger aufgelöst wurden, aber 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.

Hinweis

Das Routingereignis OnResolvedMessage steht nur in Exchange 2007 Service Pack 1 (SP1) verfügbar.

14

OnRoutedMessage

Dieses Ereignis wird ausgelöst, nachdem Nachrichten kategorisiert, Verteilerlisten erweitert und Empfänger aufgelöst wurden.

Transport-Agents können für jedes der in Tabelle 1 genannten Ereignisse registriert werden. Sie beabsichtigte Aktion des Transport-Agents schreibt jedoch normalerweise vor, für welche SMTP-Ereignisse er ausgeführt wird.

Für Antispam-Agents ist die wichtigste Erwägung – außer der Gültigkeit des Nachrichteninhalts – der Punkt, an dem eine gültige Spamnachricht identifiziert und zurückgewiesen wird. Je früher eine Nachricht, deren Spamcharakter bestätigt wurde, zurückgewiesen wird, desto geringer sind die Kosten für Ihre Organisation. Alle SMTP-Ereignisse, die vor dem SMTP-Ereignis OnEndOfData ausgelöst werden, erfordern nicht, dass ein Unzustellbarkeitsbericht vom empfangenden SMTP-Host generiert wird. Es wird kein Unzustellbarkeitsbericht generiert, weil der vollständige Nachrichteninhalt nicht zugestellt wird, bevor das SMTP-Ereignis OnEndOfData erreicht wird. Daher ist der sendende SMTP-Host weiterhin für die abschließende Zustellung der Nachricht verantwortlich. Wenn die Zustellung an den empfangenden SMTP-Host vor dem SMTP-Ereignis OnEndOfData zu einem Fehler führt, muss der sendende SMTP-Host den Unzustellbarkeitsbericht an den Nachrichtenabsender generieren. Nachdem das SMTP-Ereignis OnEndOfData erreicht wurde, hat der empfangende SMTP-Host den vollständigen Inhalt der Nachricht akzeptiert. Dies bedeutet, dass der SMTP-Host nun dafür verantwortlich ist, die Nachricht erfolgreich zuzustellen und eine Unzustellbarkeitsbericht zu generieren und an den Nachrichtenabsender zu senden. Aus diesem Grund ist es wichtig, dass ein Antispam-Agent sich selbst für die SMTP-Ereignisse registriert, bevor das SMTP-Ereignis OnEndOfData erreicht wird, um die Wahrscheinlichkeit zu verringern, dass der empfangende SMTP-Host den Nachrichteninhalt speichert und einen Unzustellbarkeitsbericht an den Nachrichtenabsender generieren muss.

Für Antiviren-Agents besteht der wichtigste Aspekt im Gewährleisten, dass jede einzelne Nachricht gescannt wird. Agents, die jede Nachricht überprüfen müssen, müssen für das SMTP-Ereignis OnSubmittedMessage konfiguriert werden. Jede Nachricht, die die Transportpipeline durchläuft, löst das SMTP-Ereignis OnSubmittedMessage aus, weil dieses nach allen möglichen Übermittlungseingangpunkten auftritt, z. B. bei SMTP-Übermittlung von Remotehosts, MAPI-Übermittlung von Computern, die die Serverfunktion Mailbox ausführen, dem PICKUP-Verzeichnis, das von benutzerdefinierten Anwendungen verwendet wird, oder dem Wiedergabeverzeichnis, das von E-Mail-Anwendungen von Drittanbietern verwendet wird.

Versehen von Transport-Agents mit Prioritäten

In Exchange 2007 können Sie die Priorität von Transport-Agents angeben, die in Exchange enthalten sind oder von benutzerdefinierten Anwendungen hinzugefügt werden. Wenn Sie die Priorität eines Transport-Agents angeben, können Sie steuern, welche Agents zuerst für eine Nachricht aktiv werden. Transport-Agents kann eine Priorität von 1 oder höher zugewiesen werden. Transport-Agents mit einer Priorität, die näher bei 1 liegt, werden zuerst auf E-Mail-Nachrichten angewendet. Die Priorität, die Sie einem Transport-Agent zuweisen, ist jedoch nur ein Faktor, der zum Bestimmen der Reihenfolge verwendet wird, in der Transport-Agents auf Nachrichten angewendet werden. Der zweite Faktor, der zum Bestimmen der Priorität von Transport-Agents verwendet wird, ist die Position des SMTP-Ereignisses, das einen registrierten Transport-Agent besitzt, in der Reihenfolge der SMTP-Ereignisse.

Wie weiter oben in diesem Thema in Tabelle 1 gezeigt wird, besitzen SMTP-Ereignisse eine bestimmte Reihenfolge, in der sie auf Nachrichten angewendet werden, die die Transportpipeline durchlaufen. Das SMTP-Ereignis OnConnectEvent tritt z. B. immer vor den SMTP-Ereignissen OnHeloCommand oder OnEhloCommand auf. Da Transport-Agents für bestimmte SMTP-Ereignisse registriert sind, bedeutet dies, dass unabhängig von der einem Transport-Agent für das SMTP-Ereignis OnEhloCommand zugewiesenen Priorität Transport-Agents, die für das SMTP-Ereignis OnConnectEvent registriert sind, immer zuerst auf die Nachricht angewendet werden.

Transport-Agents können z. B. folgendermaßen konfiguriert sein:

  • Der Transport-Agent AgentA mit einer Priorität von 1 ist für das SMTP-Ereignis OnEndofHeaders registriert.

  • Der Transport-Agent AgentB mit einer Priorität von 4 ist für das SMTP-Ereignis OnMailCommand registriert.

Wenn Sie die Liste der registrierten Agents mithilfe des Cmdlets Get-TransportAgent anzeigen, wird der Transport-Agent AgentA mit einer höheren Priorität als der Transport-Agent AgentB aufgeführt. Wenn eine Nachricht die Transportpipeline durchläuft, wird jedoch der Transport-Agent AgentB vor dem Transport-Agent AgentA auf die Nachricht angewendet, weil das SMTP-Ereignis OnMailCommand vor dem SMTP-Ereignis OnEndOfHeaders auf die Nachricht trifft.

Die Priorität, die Sie einem Transport-Agent zuweisen, wird relevant, wenn zwei oder mehr Transport-Agents für das gleiche SMTP-Ereignis registriert sind. Wenn der Transport-Agent AgentA und der Transport-Agent AgentB beide für das SMTP-Ereignis OnEndofHeaders registriert sind und eine Nachricht auf dieses Ereignis trifft, wird der Transport-Agent AgentA vor dem Transport-Agent AgentB auf die Nachricht angewendet. Wenn der Transport-Agent AgentB für die SMTP-Ereignisse OnEndOfHeaders und OnMailCommand registriert ist, wird er zweimal auf die Nachricht angewendet. Der Transport-AgentAgentB wird zuerst angewendet, weil er für das SMTP-Ereignis OnMailCommand registriert ist. Wenn die Nachricht dann auf das SMTP-Ereignis OnEndOfHeaders trifft, für das die beiden Transport-Agents AgentA und AgentB registriert sind, wird der Transport-Agent AgentA angewendet, weil er eine höhere Priorität als der Transport-Agent AgentB besitzt. Schließlich wird der Transport-Agent AgentB ein zweites Mal auf die Nachricht angewendet.

Integrierte Transport-Agents

Exchange 2007 enthält mehrere Standard-Transport-Agents, durch die Features wie z. B. Transportregeln und Journale bereitgestellt werden können. Standardmäßig sind die in den folgenden Tabellen aufgelisteten Transport-Agents auf den Hub-Transport-Servern und Edge-Transport-Servern installiert. Die folgenden Tabellen enthalten außerdem Links zu Themen, die weitere Informationen über die einzelnen Agents enthalten.

Tabelle 2   Transport-Agents von Hub-Transport-Servern

Name des Agents Priorität SMTP-Ereignisse Beschreibung

Transportregel-Agent

1

OnRoutedMessage

Übersicht über Transportregeln

Journaling-Agent

2

OnSubmittedMessage, OnRoutedMessage

Übersicht über Journale

Vorlizenzierungs-Agent der Active Directory-Rechteverwaltungsdienste (AD RMS, Active Directory Rights Management Services)

Hinweis

Der AD RMS-Vorlizenzierungs-Agent ist nur in Exchange 2007 SP1 verfügbar. Er ist standardmäßig deaktiviert.

3

OnRoutedMessage

Grundlegendes zum AD RMS-Vorlizenzierungs-Agent

Tabelle 3   Transport-Agents von Edge-Transport-Servern

Name des Agents Priorität SMTP-Ereignisse Verwandte Themen

Verbindungsfilter-Agent

1

OnConnectEvent, OnMailCommand, OnRcptComand, OnEndOfHeaders

Verbindungsfilterung

Adressumschreibungs-Agent für eingehende Nachrichten

2

OnRcptCommand, OnEndOfHeaders

Planung für das Umschreiben von Adressen

Edge-Regel-Agent

3

OnEndOfData

Übersicht über Transportregeln

Inhaltsfilter-Agent

4

OnEndOfData

Inhaltsfilterung

Sender ID-Agent

5

OnEndOfHeaders

Sender ID

Absenderfilter-Agent

6

OnMailCommand, OnEndOfHeaders

Absenderfilterung

Empfängerfilter-Agent

7

OnRcptCommand

Empfängerfilterung

Protokollanalyse-Agent

8

OnEndOfHeaders, OnEndOfData, OnReject, OnRsetCommand, OnDisconnectEvent

Verwalten von Protokollaufzeichnungen

Anlagenfilter-Agent

9

OnEndOfData

Anlagenfilterung

Adressumschreibungs-Agent für ausgehende Nachrichten

10

OnRcptCommand, OnEndOfHeaders

Planung für das Umschreiben von Adressen

Transportproblembehandlungs-Agents

Durch Transport-Agents unterstützt Sie Exchange beim Steuern der Nachrichtenübermittlung durch Ihre Organisation. Auf diese Weise können Sie Ihre Exchange-Infrastruktur an die Anforderungen Ihrer Organisation anpassen, anstatt eine Anpassung Ihrer Organisation an Ihre E-Mail-Infrastruktur zu erzwingen. Wenn Sie Ihre Umgebung anpassen, steigt die Komplexität dieser Umgebung. Um Sie bei der Behandlung von Problemen, die möglicherweise auftreten, und bei der Überprüfung zu unterstützen, ob die von Ihnen vorgenommenen Änderungen auf die von Ihnen erwartete Weise auf Nachrichten angewendet werden, stellt Exchange die folgenden Features zur Verfügung:

  • Das Cmdlet Get-TransportPipeline.   Das Cmdlet Get-TransportPipeline zeigt alle aktivierten Transport-Agents sowie die SMTP-Ereignisse an, für die sie registriert sind und auf die Nachrichten in der Transportpipeline zwischen dem Zeitraum, zu dem der Microsoft-Transportdienst gestartet wurde, und der Ausführungszeit des Cmdlets getroffen sind. Weitere Informationen finden Sie unter Anzeigen von Transport-Agents in der Transportpipeline.

    Hinweis

    Die Informationen, die vom Cmdlet Get-TransportPipeline angezeigt werden, werden nur generiert, nachdem eine Nachricht durch die Transportpipeline gesendet wurde. Außerdem werden nur die Transport-Agents angezeigt, die die Nachricht verarbeitet haben.

  • **Pipelineablaufverfolgung **  Pipelineablaufverfolgung ermöglicht das Erstellen eines genauen Snapshots einer gesamten Nachricht bevor und nachdem sie auf die einzelnen Transport-Agents trifft. Pipelineablaufverfolgung ermöglicht das Bestimmen, welcher Transport-Agent ggf. unerwartete Ergebnisse generiert hat, oder das Überprüfen, ob das Verhalten des Transport-Agents wie erwartet ist. Weitere Informationen finden Sie unter Diagnose von Transport-Agentproblemen mit der Pipelineablaufverfolgung.

Weitere Informationen

Weitere Informationen zu Transport-Agents finden Sie unter den folgenden Themen: