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-OrganizationCustomizationausfü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.
