Externe E-Mail-Weiterleitung in Microsoft 365 einrichten – ohne im Defender-Portal zu verzweifeln

Klingt banal, ist es aber nicht: Eine Mail soll automatisch an die externe Adresse vom Steuerberater weitergeleitet werden. Microsoft 365 sagt erstmal Nein. Hier ist der Weg, der wirklich funktioniert – und die Stolperfallen, die unterwegs auf dich warten.


Warum M365 dir das so schwer macht

Der typische Anwendungsfall: Der Kunde will, dass alle Mails an buchhaltung@ automatisch zusätzlich beim Steuerberater landen. Du klickst dich durchs Exchange Admin Center, trägst die externe Adresse ein – und der Steuerberater bekommt nichts. Stattdessen flattert beim Absender ein NDR rein:

5.7.520 Access denied, Your organization does not allow external forwarding.
Please contact your administrator for further assistance.

Microsoft hat externe automatische Weiterleitungen vor einigen Jahren standardmäßig deaktiviert. Aus gutem Grund: Bei kompromittierten Konten ist das Setzen einer stillen externen Weiterleitung der erste Schritt vieler Angreifer, um unbemerkt Mail abzuziehen. Diese Sicherheitsmaßnahme ist also begrüßenswert – nur eben nervig, wenn du sie für einen legitimen Use Case bewusst durchbrechen willst.

Du brauchst dafür zwei Schritte: Erst die organisationsweite Anti-Spam-Richtlinie öffnen, dann die Weiterleitung am konkreten Postfach setzen. Klingt simpel. Ist es eigentlich auch. Wenn da nicht das Defender-Portal wäre.

Spoiler vorab: Das Defender-Portal hat seit Monaten einen reproduzierbaren Bug beim Speichern der Outbound-Spam-Policy: „Ihre Organisationseinstellungen konnten leider nicht aktualisiert werden.“ Spar dir den Frust und mach es direkt per PowerShell. Genau das zeige ich dir gleich.

Schritt 1: Verbinden und Status prüfen

Wenn du das ExchangeOnlineManagement-Modul noch nicht installiert hast, hole das einmalig nach:

powershell

# Modul fuer Exchange Online installieren - einmalig pro Rechner
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser -Force

Dann verbindest du dich mit dem Tenant. Beim Connect öffnet sich ein Microsoft-Login-Fenster:

powershell

# Verbindung zu Exchange Online des Kunden-Tenants
Connect-ExchangeOnline -UserPrincipalName "admin@kundenname.onmicrosoft.com"

Sehen wir uns zuerst an, wie die Default-Outbound-Spam-Richtlinie aktuell tickt:

powershell

Get-HostedOutboundSpamFilterPolicy | Select-Object Name, AutoForwardingMode

Das Feld AutoForwardingMode kennt drei Werte: Automatic (Default, blockiert Forwarding für externe Empfänger), On (erlaubt) und Off (hart aus). Die meisten frischen Tenants stehen auf Automatic – also blockierend.

Schritt 2: Outbound-Forwarding in der Anti-Spam-Policy freischalten

Hier ist der Punkt, an dem das Defender-Portal aussteigt. Per PowerShell ist es ein Einzeiler:

powershell

# Default-Policy auf "On" setzen - externe Weiterleitung tenant-weit erlaubt
Set-HostedOutboundSpamFilterPolicy -Identity "Default" -AutoForwardingMode On

# Pruefen, ob's gegriffen hat
Get-HostedOutboundSpamFilterPolicy -Identity "Default" |
    Select-Object Name, AutoForwardingMode

Wer’s sicherheitstechnisch sauberer haben will: Statt die Default-Policy aufzumachen, kannst du auch eine eigene Outbound-Policy erstellen und nur auf bestimmte User scopen. Dann bleibt die Default-Policy für alle anderen restriktiv. Mehr Aufwand, aber empfehlenswert wenn der Tenant viele User hat.

powershell

# Variante "sauber": eigene Policy nur fuer den einen User
New-HostedOutboundSpamFilterPolicy -Name "Allow-External-Forward" `
                                   -AutoForwardingMode On

New-HostedOutboundSpamFilterRule -Name "Allow-External-Forward" `
                                 -HostedOutboundSpamFilterPolicy "Allow-External-Forward" `
                                 -From "buchhaltung@kunde.de" `
                                 -Priority 0

Achtung Stolperfalle: Wenn du die Fehlermeldung „Der Befehl, den Sie ausführen möchten, ist in Ihrer Organisation derzeit nicht zulässig“ bekommst, ist der Tenant noch nicht für Customization freigeschaltet. Einmalig Enable-OrganizationCustomization ausführen, 10–15 Minuten warten, Session neu aufbauen, dann funktioniert’s. Diese Aktion ist nicht reversibel, aber unkritisch – produktive Tenants haben das ohnehin alle aktiev.

Schritt 3: Weiterleitung am Postfach setzen

Jetzt der eigentliche Akt – die Weiterleitung am konkreten Postfach:

powershell

# Weiterleitung an die externe Steuerberater-Adresse einrichten
# - ForwardingSMTPAddress  : die externe Zieladresse
# - DeliverToMailboxAndForward $true : Mail bleibt zusaetzlich im Postfach
#   (auf $false setzen wuerde die Mail nur weiterleiten und lokal nichts speichern)
Set-Mailbox -Identity "buchhaltung@kunde.de" `
            -ForwardingSMTPAddress "kanzlei@steuerberater.de" `
            -DeliverToMailboxAndForward $true

# Ergebnis verifizieren
Get-Mailbox -Identity "buchhaltung@kunde.de" |
    Select-Object PrimarySmtpAddress, ForwardingSMTPAddress, DeliverToMailboxAndForward

Den Parameter DeliverToMailboxAndForward auf $true zu lassen, ist in 99 % der Fälle die richtige Wahl. So bekommt der Steuerberater seine Kopie und im Kundenpostfach bleibt die Mail erhalten – wichtig für Nachvollziehbarkeit, Suche und auch für GoBD-Aufbewahrungspflichten.

Alternative: Über das Exchange Admin Center

Wer den GUI-Weg vorzieht, klickt sich nach Empfänger → Postfächer → [Postfach] → Postfach → Postfachfluss-Einstellungen verwalten → E-Mail-Weiterleitung durch. Hier hat das EAC im Gegensatz zum Defender-Portal keine bekannten Speicherprobleme.

Schritt 4: Funktion testen

Schick eine Test-Mail an das Quell-Postfach und kontrolliere beim Steuerberater, ob sie ankommt. Frag wirklich nach – die empfängerseitige Filterung kann weitergeleitete Mails durchaus im Spam landen lassen. Das liegt an SPF: dein Server leitet weiter, der Absender steht aber noch im Original-Header. Manche Empfangsserver mögen das nicht.

Zur Dokumentation kannst du dir alle aktiven externen Weiterleitungen im Tenant anzeigen lassen:

powershell

# Alle Postfaecher mit aktiver externer Weiterleitung auflisten
Get-Mailbox -ResultSize Unlimited |
    Where-Object { $_.ForwardingSMTPAddress -ne $null } |
    Select-Object PrimarySmtpAddress, ForwardingSMTPAddress, DeliverToMailboxAndForward |
    Format-Table -AutoSize

Diese Abfrage gehört übrigens zur regelmäßigen Security-Hygiene. Wenn du dort plötzlich eine externe Adresse findest, die du nicht selbst eingetragen hast – höchste Alarmstufe, das ist mit hoher Wahrscheinlichkeit ein kompromittierter Account.

Wieder rückbauen, wenn das Mandat endet

Steuerberater-Wechsel oder Mandatsende? Weiterleitung sauber entfernen:

powershell

Set-Mailbox -Identity "buchhaltung@kunde.de" `
            -ForwardingSMTPAddress $null `
            -DeliverToMailboxAndForward $false

Wenn im Tenant keine externen Weiterleitungen mehr nötig sind, fahr auch die Anti-Spam-Policy wieder runter. Das verkleinert die Angriffsfläche:

powershell

Set-HostedOutboundSpamFilterPolicy -Identity "Default" -AutoForwardingMode Automatic

Die typischen Fallstricke auf einen Blick

„Der Befehl ist derzeit nicht zulässig“ – obwohl Customization längst aktiviert ist

Klassischer Fall einer veralteten PowerShell-Session. Komplett trennen, Reste killen, neu verbinden:

powershell

Disconnect-ExchangeOnline -Confirm:$false
Get-PSSession | Remove-PSSession
Connect-ExchangeOnline -UserPrincipalName "admin@kundenname.onmicrosoft.com"

Globaler Admin reicht angeblich – aber Befehle scheitern trotzdem

Global Admin und die Exchange-Rollengruppe „Organization Management“ sind technisch zwei paar Schuhe. Normalerweise wird das automatisch verknüpft, aber das ist nicht garantiert. Im Zweifel direkt nachhelfen:

powershell

Add-RoleGroupMember -Identity "Organization Management" `
                    -Member "admin@kundenname.onmicrosoft.com"

Mail kommt beim Steuerberater im Spam an

Vermutlich SPF/DMARC-Probleme bei weitergeleiteten Mails. Der saubere Fix wäre SRS (Sender Rewriting Scheme), den Microsoft in EOP unterstützt – aber nicht jeder Empfangsserver akzeptiert das umgeschriebene From. Pragmatischer Workaround: Steuerberater bitten, eure Absenderdomain auf die Whitelist zu setzen.

TL;DR – die fünf Befehle, die du wirklich brauchst

powershell

# 1. Verbinden
Connect-ExchangeOnline -UserPrincipalName "admin@kundenname.onmicrosoft.com"

# 2. Externe Weiterleitung tenant-weit erlauben
Set-HostedOutboundSpamFilterPolicy -Identity "Default" -AutoForwardingMode On

# 3. Weiterleitung am Postfach setzen
Set-Mailbox -Identity "buchhaltung@kunde.de" `
            -ForwardingSMTPAddress "kanzlei@steuerberater.de" `
            -DeliverToMailboxAndForward $true

# 4. Verifizieren
Get-Mailbox -Identity "buchhaltung@kunde.de" |
    Select-Object PrimarySmtpAddress, ForwardingSMTPAddress

# 5. Sitzung beenden
Disconnect-ExchangeOnline -Confirm:$false

Diese Anleitung ist im Tagesgeschäft entstanden – wenn du selbst noch eine Stolperfalle gefunden hast, die hier fehlt, schreib mir gerne.