Zum Hauptinhalt springen

Umstellung externer Alias-Weiterleitungen auf Catch-All mit SIEVE-Filterung - Wissensdatenbank / Mailadministration - Fairgate DeskPro

Umstellung externer Alias-Weiterleitungen auf Catch-All mit SIEVE-Filterung

Diese Anleitung zeigt Mailadmins, wie bestehende externe Alias-Weiterleitungen über den Fairgate-Mailserver durch ein zentrales Postfach mit Catch-All und robusten SIEVE-Weiterleitungen ersetzt werden.

Die Struktur sorgt dafür, dass E-Mails zuverlässig anhand verschiedener technischer Empfängerinformationen erkannt und weitergeleitet werden. Dadurch können bisherige externe Alias-Weiterleitungen sauber abgebildet werden, ohne dass externe Ziele direkt als Mailserver-Aliasse hinterlegt bleiben müssen.


1. Hintergrund der Umstellung

Warum diese Umstellung notwendig ist

Externe Alias-Weiterleitungen können die Zustellbarkeit und Reputation der Fairgate-Mailinfrastruktur beeinträchtigen. Wenn E-Mails direkt über Aliasse an externe Anbieter weitergeleitet werden, kann dies zu Problemen bei Spam-Bewertung, SPF/DMARC-Prüfungen und Zustellbarkeit führen.

Um die Mailinfrastruktur stabil und zuverlässig zu betreiben, sollen externe Alias-Weiterleitungen künftig über ein zentrales Postfach mit SIEVE-Regeln abgebildet werden. Dadurch bleiben Weiterleitungen kontrollierbar, nachvollziehbar und technisch sauber verwaltbar.

Betroffen sind

  • Aliasse, die E-Mails an externe Adressen weiterleiten, zum Beispiel name@bluewin.ch, name@gmail.com, name@hotmail.com oder ähnliche externe Ziele.

  • Aliasgruppen mit mehreren externen Zieladressen.

  • Catch-All-Strukturen, bei denen bisher nicht definierte Adressen automatisch weitergeleitet wurden.

Nicht betroffen sind

  • Normale Postfächer innerhalb der eigenen Domain.

  • Interne Aliasse, die ausschliesslich auf andere Postfächer oder Aliasse innerhalb derselben Domain zeigen.


2. Grundprinzip der neuen Lösung

Die Umstellung besteht aus zwei Ebenen:

  1. Catch-All-Alias auf Mailserver-Ebene
    Alle E-Mails an bisherige oder nicht mehr direkt vorhandene Alias-Adressen werden an ein zentrales Postfach zugestellt.

  2. SIEVE-Filter im zentralen Postfach
    Das zentrale Postfach prüft beim Eintreffen der Nachricht, an welche ursprüngliche Alias-Adresse die E-Mail adressiert war, und leitet sie gemäss Regelwerk an die vorgesehenen Zieladressen weiter.

Beispiel:

verein@beispieldomain.ch
        ↓
Catch-All / zentrales Postfach
        ↓
SIEVE-Regel erkennt ursprüngliche Adresse
        ↓
Weiterleitung an externe Zieladresse(n)

3. Voraussetzungen

Für die Umstellung benötigen Sie:

  • ein aktives Mailpostfach bei Fairgate, zum Beispiel weiterleitungen@beispieldomain.ch oder info@beispieldomain.ch

  • Zugriff auf die Administrationsoberfläche des Fairgate-Mailservers unter https://mail.fairgatemail.ch

  • eine vollständige Liste der bisherigen Alias-Adressen und deren Zieladressen

  • Zugriff auf die Filterverwaltung des zentralen Postfachs


4. Schritt-für-Schritt-Anleitung

4.1 Zentrales Postfach anlegen oder auswählen

Legen Sie zunächst ein zentrales Postfach an, an dem die Nachrichten gesammelt und per SIEVE verarbeitet werden.

Empfohlen ist ein dediziertes Postfach wie:

weiterleitungen@beispieldomain.ch

Alternativ kann ein bestehendes Postfach verwendet werden, zum Beispiel:

info@beispieldomain.ch

Dieses Postfach empfängt die Nachrichten, bevor sie anhand des SIEVE-Filters weitergeleitet werden.


4.2 Catch-All-Alias erstellen

Erstellen Sie in der Mailserver-Administration einen Catch-All-Alias für die betroffene Domain.

Beispiel:

Alias:       @beispieldomain.ch
Zieladresse: weiterleitungen@beispieldomain.ch

Damit werden E-Mails an Adressen der Domain, die nicht mehr als eigene Aliasse oder Postfächer existieren, an das zentrale Postfach zugestellt.


4.3 Bestehende externe Einzelaliase deaktivieren

Bestehende externe Alias-Weiterleitungen sollten deaktiviert oder gelöscht werden, sobald der neue SIEVE-Filter aktiv ist.

Wichtig: Bleiben alte externe Aliasse parallel aktiv, kann es zu Zustellfehlern kommen.

Empfohlenes Vorgehen:

  1. neuen Catch-All-Alias anlegen

  2. SIEVE-Filter im zentralen Postfach einrichten

  3. Filter validieren und aktivieren

  4. bisherige externe Einzelaliase deaktivieren

  5. Testmails versenden und Zustellung prüfen


5. SIEVE-Filter im zentralen Postfach einrichten

5.1 Filter öffnen

Öffnen Sie in der Mailserver-Administrationsoberfläche den Bereich Filter.

Erstellen Sie anschliessend einen neuen Filter für das zentrale Postfach.

Empfohlene Einstellungen:

Filtertyp: Prefilter
Name/Beschreibung: Catch-All Weiterleitungen
Status: Aktiv

Der Filtertyp Prefilter sorgt dafür, dass die Regel direkt beim Eingang der E-Mail angewendet wird.


6. Aufbau des robusten SIEVE-Filters

Der neue SIEVE-Filter besteht aus vier Teilen:

  1. Moduldeklaration

  2. Initialisierung des Redirect-Flags

  3. Weiterleitungsregeln pro Alias-Adresse

  4. optionaler Catch-All-Block am Ende


6.1 Moduldeklaration

Am Anfang des Scripts steht:

require ["fileinto", "copy", "variables", "envelope"];

Diese Zeile aktiviert die benötigten SIEVE-Funktionen.

Modul

Zweck

fileinto

Grundmodul, das in Mailcow/Dovecot-Umgebungen häufig erwartet wird.

copy

Ermöglicht mehrere Weiterleitungen derselben Nachricht.

variables

Aktiviert Variablen wie redirected.

envelope

Ermöglicht die Prüfung des SMTP-Envelope-Empfängers.

Ohne diese Deklaration kann der Filter nicht korrekt validiert oder ausgeführt werden.


6.2 Initialisierung

Direkt danach wird ein Kontrollwert gesetzt:

set "redirected" "0";

Dieser Wert bedeutet:

0 = Es wurde noch keine Weiterleitungsregel ausgeführt.
1 = Eine Weiterleitungsregel hat bereits gegriffen.

Jede erfolgreiche Alias-Regel setzt diesen Wert später auf 1.


6.3 Robuste Alias-Erkennung

Jede Alias-Adresse erhält einen eigenen Regelblock.

Der Block prüft mehrere mögliche Empfängerquellen:

Prüfung

Bedeutung

address :is ["to","cc"]

Prüft sichtbare Empfänger in To und Cc.

header :is "X-Original-To"

Prüft die ursprünglich adressierte Empfängeradresse.

envelope :is "to"

Prüft den technischen SMTP-Empfänger.

Dadurch wird die Weiterleitung robuster als bei einer einfachen Prüfung nur auf To.


7. Beispiel eines vollständigen SIEVE-Filters

Das folgende Beispiel zeigt die empfohlene Struktur für mehrere Alias-Adressen.

require ["fileinto", "copy", "variables", "envelope"];

# Initialwert für Redirect-Flag
set "redirected" "0";

# empfanger01@beispieldomain.ch
if anyof (
  address :is ["to","cc"] "empfanger01@beispieldomain.ch",
  header  :is "X-Original-To" "empfanger01@beispieldomain.ch",
  envelope :is "to" "empfanger01@beispieldomain.ch"
) {
  redirect "extern01@bluewin.ch";
  set "redirected" "1";
}

# empfanger02@beispieldomain.ch
if anyof (
  address :is ["to","cc"] "empfanger02@beispieldomain.ch",
  header  :is "X-Original-To" "empfanger02@beispieldomain.ch",
  envelope :is "to" "empfanger02@beispieldomain.ch"
) {
  redirect "extern02@hotmail.ch";
  redirect "extern03@gmail.com";
  set "redirected" "1";
}

# empfanger03@beispieldomain.ch
if anyof (
  address :is ["to","cc"] "empfanger03@beispieldomain.ch",
  header  :is "X-Original-To" "empfanger03@beispieldomain.ch",
  envelope :is "to" "empfanger03@beispieldomain.ch"
) {
  redirect "extern04@gmx.ch";
  set "redirected" "1";
}

# Catch-All nur wenn noch nichts weitergeleitet wurde
# if string :is "${redirected}" "0" {
#   redirect "zieladresse@domain.tld";
# }

8. Mehrere Zieladressen pro Alias

Wenn eine Alias-Adresse an mehrere Zieladressen weiterleiten soll, wird pro Zieladresse eine eigene redirect-Zeile verwendet.

Beispiel:

# verein@beispieldomain.ch
if anyof (
  address :is ["to","cc"] "verein@beispieldomain.ch",
  header  :is "X-Original-To" "verein@beispieldomain.ch",
  envelope :is "to" "verein@beispieldomain.ch"
) {
  redirect "person1@example.com";
  redirect "person2@example.com";
  redirect "person3@example.com";
  set "redirected" "1";
}

Wichtig:
Das redirected-Flag wird erst nach allen Weiterleitungen innerhalb des Blocks gesetzt.


9. Optionale Catch-All-Regel im SIEVE-Filter

Am Ende des Scripts kann optional eine Catch-All-Regel ergänzt werden.

Diese greift nur dann, wenn vorher keine definierte Alias-Regel ausgelöst wurde.

# Catch-All nur wenn noch nichts weitergeleitet wurde
# if string :is "${redirected}" "0" {
#   redirect "zieladresse@domain.tld";
# }

Standardmässig ist diese Regel auskommentiert.

Das bedeutet:

# = Diese Zeile wird von SIEVE ignoriert.

Wenn die Catch-All-Regel aktiv sein soll, entfernen Sie die # am Zeilenanfang und ersetzen Sie zieladresse@domain.tld durch die gewünschte Zieladresse.

Aktive Variante:

# Catch-All nur wenn noch nichts weitergeleitet wurde
if string :is "${redirected}" "0" {
  redirect "info@beispieldomain.ch";
}

10. Wichtiger Hinweis zu internen Alias-Zielen und Rekursivität

SIEVE arbeitet nicht rekursiv.

Das bedeutet: Wenn eine SIEVE-Regel an eine andere interne Alias-Adresse weiterleitet, wird nicht automatisch erneut die SIEVE-Regel dieser zweiten Alias-Adresse ausgewertet.

Problematisches Beispiel:

vorstand@beispieldomain.ch → info@beispieldomain.ch
info@beispieldomain.ch → externe.person@example.com

Wenn vorstand@beispieldomain.ch im SIEVE-Filter lediglich an info@beispieldomain.ch weiterleitet, ist nicht sichergestellt, dass danach nochmals die Regel für info@beispieldomain.ch ausgeführt wird.

Empfehlung:

  • Interne Alias-Strukturen innerhalb der Domain nach Möglichkeit direkt im Mailserver als interne Aliasse/Postfächer abbilden.

  • Externe Weiterleitungen im SIEVE-Filter direkt auf die effektiven externen Zieladressen auflösen.

  • Keine SIEVE-Regeln bauen, die darauf angewiesen sind, dass ein weiterer Alias-Regelblock anschliessend erneut ausgeführt wird.

Robuste Variante:

vorstand@beispieldomain.ch → externe.person1@example.com
vorstand@beispieldomain.ch → externe.person2@example.com

Statt:

vorstand@beispieldomain.ch → info@beispieldomain.ch → externe.person@example.com

11. Filter speichern und validieren

Nach dem Einfügen des SIEVE-Codes:

  1. Filter auf Aktiv setzen

  2. auf Validieren klicken

  3. mögliche Syntaxfehler korrigieren

  4. Filter speichern

  5. Testmails an mehrere ehemalige Alias-Adressen senden

  6. prüfen, ob alle Zieladressen korrekt beliefert werden

Typische Fehlerquellen:

Fehler

Ursache

variables fehlt

set "redirected" "0"; wird verwendet, aber das Modul ist nicht deklariert.

envelope fehlt

envelope :is "to" wird verwendet, aber das Modul ist nicht deklariert.

Falsche Anführungszeichen

Es müssen normale doppelte Anführungszeichen " verwendet werden.

Fehlendes Semikolon

Jede Anweisung wie redirect oder set benötigt ein Semikolon.

Alte Aliasse noch aktiv

Es kann zu doppelten Zustellungen kommen.


12. FAQ / Tipps

Was passiert mit E-Mails ohne passende SIEVE-Regel?

Wenn keine optionale SIEVE-Catch-All-Regel aktiv ist, verbleiben diese E-Mails im zentralen Postfach.

Wenn am Ende des Scripts eine aktive Catch-All-Regel eingerichtet ist, werden diese E-Mails an die dort angegebene Zieladresse weitergeleitet.


Sind SIEVE-Regeln sofort aktiv?

Ja. Änderungen an aktiven Filtern greifen unmittelbar nach dem Speichern.


Können mehrere externe Zieladressen hinterlegt werden?

Ja. Pro Zieladresse wird eine eigene redirect-Zeile eingetragen.

Beispiel:

redirect "person1@example.com";
redirect "person2@example.com";
redirect "person3@example.com";

Warum wird nicht mehr mit elsif und stop gearbeitet?

Die neue Struktur arbeitet mit einzelnen, unabhängigen Regelblöcken und einem Redirect-Flag.

Dadurch bleibt die Logik übersichtlicher und der optionale Catch-All kann sauber erkennen, ob bereits eine Weiterleitung ausgeführt wurde.

Ein stop am Ende eines Alias-Blocks würde die weitere Scriptverarbeitung abbrechen. Das ist nicht in jedem Szenario gewünscht, insbesondere wenn mehrere Empfängerinformationen oder komplexere Aliasstrukturen geprüft werden sollen.


Warum wird nicht nur "To" geprüft?

Nicht jede E-Mail enthält die ursprünglich adressierte Alias-Adresse zuverlässig im sichtbaren To-Feld.

Je nach Zustellweg kann die relevante Adresse auch in Cc, im Header X-Original-To oder im SMTP-Envelope stehen.

Die robuste Struktur prüft deshalb mehrere Quellen.


Was bedeutet "X-Original-To"?

X-Original-To ist ein technischer Header, der die ursprünglich adressierte Empfängeradresse enthalten kann. Er ist besonders hilfreich, wenn die sichtbaren Empfängerinformationen durch Weiterleitungen oder Zustellprozesse verändert wurden.


Was bedeutet "envelope :is to"?

Damit wird der technische SMTP-Empfänger geprüft. Diese Information ist oft zuverlässiger als sichtbare Header-Felder, weil sie aus dem eigentlichen Zustellvorgang stammt.


Kann der Filter bestehende interne Alias-Ketten automatisch auflösen?

Nein. SIEVE wertet das Script nicht rekursiv aus.

Wenn ein Alias an einen anderen internen Alias weiterleitet, wird dessen SIEVE-Regel nicht automatisch erneut ausgeführt. Solche Fälle sollten vor der Umstellung geprüft und entweder direkt im Script auf externe Zieladressen aufgelöst oder als interne Mailserver-Aliasse abgebildet werden.


13. Zusammenfassung

Mit der neuen Struktur werden externe Alias-Weiterleitungen nicht mehr direkt als externe Mailserver-Aliasse betrieben, sondern über ein zentrales Postfach mit robustem SIEVE-Filter abgebildet.

Der Filter:

  • erkennt Alias-Adressen über To, Cc, X-Original-To und den SMTP-Envelope

  • unterstützt mehrere Zieladressen pro Alias

  • nutzt ein Redirect-Flag zur Steuerung der optionalen Catch-All-Regel

  • vermeidet doppelte Weiterleitungen

  • ist besser wartbar als alte if/elsif/stop-Strukturen

  • muss bei internen Alias-Ketten bewusst ohne rekursive Annahmen geplant werden


Hilfreich Nicht hilfreich