Transportregeln reichen für vieles: einen Hinweis anhängen, eine Kopie senden, eine Kopfzeile setzen. Wo sie aufhören, beginnt der Transport-Agent. Er ist die älteste und mächtigste Erweiterung von Exchange, und die mit den meisten Fallen.
Was ein Transport-Agent ist
Ein Transport-Agent ist eine .NET-Bibliothek, die der Transportdienst von Exchange lädt. Sie hängt sich an Ereignisse in der Verarbeitung einer Nachricht und bekommt dort Zugriff auf Umschlag, Kopfzeilen und Inhalt. Die Bibliotheken zum Übersetzen liegen auf dem Server im Ordner Public der Exchange-Installation.
Zwei Typen sind im Alltag relevant:
- SmtpReceiveAgent arbeitet beim Empfang über SMTP, etwa bei
OnEndOfData. Er sieht nur, was per SMTP ankommt. - RoutingAgent arbeitet in der Kategorisierung mit
OnSubmittedMessage,OnResolvedMessage,OnRoutedMessageundOnCategorizedMessage. Er sieht jede Nachricht, auch die, die Outlook direkt einreicht und die nie über SMTP läuft.
Für interne Post kommt deshalb nur ein RoutingAgent in Frage.
Transportregel oder Agent
| Frage | Transportregel | Transport-Agent |
|---|---|---|
| Einrichtung | Exchange Admin Center oder PowerShell | Installation auf jedem Transportserver |
| Möglichkeiten | feste Bedingungen und Aktionen | alles, was die Schnittstelle erlaubt |
| Nachricht über bestimmten Connector leiten | nur in Exchange Online | ja |
| Pflege bei Updates | keine | Prüfung je CU |
| Risiko für den Mailfluss | gering | hoch bei Fehlern |
Installation
Install-TransportAgent -Name "Mein Agent" -TransportAgentFactory "Firma.Agent.Factory" -AssemblyPath "C:\Agent\Firma.Agent.dll" Enable-TransportAgent -Identity "Mein Agent" Set-TransportAgent -Identity "Mein Agent" -Priority 10 Restart-Service MSExchangeTransport
Get-TransportAgent zeigt Reihenfolge und Zustand. Die Priorität entscheidet, welcher Agent eine Nachricht zuerst sieht. Zwei Agenten, die dieselbe Nachricht umschreiben, vertragen sich nur mit klarer Reihenfolge.
Woran Agenten im Betrieb scheitern
Die kritische Einstufung
Exchange trägt einen neu installierten Agenten in der Datei agents.config als kritisch ein. Lädt ein kritischer Agent beim Start nicht, etwa weil eine Abhängigkeit fehlt, startet der gesamte Transportdienst nicht. Dann steht der Mailfluss, nicht nur der Agent. Nach jeder Installation gehört diese Einstufung geprüft.
Das Outlook-Format
Outlook sendet innerhalb der Organisation im eigenen TNEF-Format, auch gewöhnliche Nachrichten. Liest ein Agent den Inhalt als MIME, erzeugt Exchange eine Umwandlung mit winmail.dat. Bei Terminen scheitert die Rückwandlung mit der Meldung Corrupt summary TNEF content, der Absender bekommt einen Unzustellbarkeitsbericht. Ein Agent muss nach Nachrichtenklasse unterscheiden: Termine und Aufgaben unverändert lassen, gewöhnliche Nachrichten sauber umwandeln.
Wer nur mit Testskripten oder Outlook im Web prüft, bemerkt das nie. Beide senden MIME.
Ausfälle nachgelagerter Systeme
Übergibt ein Agent Nachrichten an ein anderes System, muss er dessen Ausfall behandeln. Ein RoutingAgent kann eine Nachricht mit Defer zurückstellen, Exchange versucht sie später erneut. Wer stattdessen durchlässt, liefert im Fehlerfall genau das, was der Agent verhindern sollte.
Updates
Jedes kumulative Update ist ein Test für den Agenten. Exchange SE in der ersten Fassung entspricht im Code Exchange 2019 CU15, spätere Updates können abweichen. Ein gepflegter Agent hat einen Hersteller, der jede neue CU prüft.
Checkliste für fremde Agenten
- Unterstützt der Hersteller die eingesetzte Exchange-Version schriftlich?
- Ist der Agent als kritisch eingetragen, und ist das gewollt?
- Was passiert, wenn das Zielsystem nicht erreichbar ist?
- Wie behandelt der Agent Termine und Nachrichten im Outlook-Format?
- Wie wird aktualisiert, und bleibt die Konfiguration dabei erhalten?
Der Exchange-Agent von Conbool
Conbool nutzt einen RoutingAgent, um interne Post über das Gateway zu führen. Er nimmt die kritische Einstufung nach der Installation zurück, stellt bei einem Ausfall des Gateways zurück, unterscheidet Outlook-Nachrichten nach Klasse und startet im Modus Beobachten. Hintergrund im Beitrag Warum interne E-Mails in Exchange kein Gateway sehen, die Einrichtung in der Doku zum Exchange-Agenten und der Überblick auf der Seite Interne E-Mails im Exchange verschlüsseln.



